Bontà, Edoardo
(2008)
Automatic code generation: from process algebraic architectural descriptions to multithreaded java programs, [Dissertation thesis], Alma Mater Studiorum Università di Bologna.
Dottorato di ricerca in
Informatica, 19 Ciclo. DOI 10.6092/unibo/amsdottorato/913.
Documenti full-text disponibili:
Abstract
Process algebraic architectural description languages provide a formal
means for modeling software systems and assessing their properties.
In order to bridge the gap between system modeling and system im-
plementation, in this thesis an approach is proposed for automatically
generating multithreaded object-oriented code from process algebraic
architectural descriptions, in a way that preserves – under certain
assumptions – the properties proved at the architectural level.
The approach is divided into three phases, which are illustrated
by means of a running example based on an audio processing
system. First, we develop an architecture-driven technique for
thread coordination management, which is completely automated
through a suitable package. Second, we address the translation
of the algebraically-specified behavior of the individual software
units into thread templates, which will have to be filled in by
the software developer according to certain guidelines. Third, we
discuss performance issues related to the suitability of synthesizing
monitors rather than threads from software unit descriptions that
satisfy specific constraints.
In addition to the running example, we present two case studies about
a video animation repainting system and the implementation of a
leader election algorithm, in order to summarize the whole approach.
The outcome of this thesis is the implementation of the proposed
approach in a translator called PADL2Java and its integration in the
architecture-centric verification tool TwoTowers.
Abstract
Process algebraic architectural description languages provide a formal
means for modeling software systems and assessing their properties.
In order to bridge the gap between system modeling and system im-
plementation, in this thesis an approach is proposed for automatically
generating multithreaded object-oriented code from process algebraic
architectural descriptions, in a way that preserves – under certain
assumptions – the properties proved at the architectural level.
The approach is divided into three phases, which are illustrated
by means of a running example based on an audio processing
system. First, we develop an architecture-driven technique for
thread coordination management, which is completely automated
through a suitable package. Second, we address the translation
of the algebraically-specified behavior of the individual software
units into thread templates, which will have to be filled in by
the software developer according to certain guidelines. Third, we
discuss performance issues related to the suitability of synthesizing
monitors rather than threads from software unit descriptions that
satisfy specific constraints.
In addition to the running example, we present two case studies about
a video animation repainting system and the implementation of a
leader election algorithm, in order to summarize the whole approach.
The outcome of this thesis is the implementation of the proposed
approach in a translator called PADL2Java and its integration in the
architecture-centric verification tool TwoTowers.
Tipologia del documento
Tesi di dottorato
Autore
Bontà, Edoardo
Supervisore
Dottorato di ricerca
Ciclo
19
Coordinatore
Settore disciplinare
Settore concorsuale
Parole chiave
code generation process algebra software architecture multithreading
URN:NBN
DOI
10.6092/unibo/amsdottorato/913
Data di discussione
28 Aprile 2008
URI
Altri metadati
Tipologia del documento
Tesi di dottorato
Autore
Bontà, Edoardo
Supervisore
Dottorato di ricerca
Ciclo
19
Coordinatore
Settore disciplinare
Settore concorsuale
Parole chiave
code generation process algebra software architecture multithreading
URN:NBN
DOI
10.6092/unibo/amsdottorato/913
Data di discussione
28 Aprile 2008
URI
Statistica sui download
Gestione del documento: