Return to search

Automatic code generation: from process algebraic architectural descriptions to multithreaded java programs

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.

Identiferoai:union.ndltd.org:unibo.it/oai:amsdottorato.cib.unibo.it:913
Date28 April 2008
CreatorsBontà, Edoardo <1971>
ContributorsBernardo, Marco
PublisherAlma Mater Studiorum - Università di Bologna
Source SetsUniversità di Bologna
LanguageEnglish
Detected LanguageEnglish
TypeDoctoral Thesis, PeerReviewed
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0025 seconds