Towards a Systematic Approach for Software Synthesis

Development of software-intensive systems nowadays rely ex- tremely on middleware platforms as a major building block especially to handle the distribution issues. This dependency has become even more crucial in the distributed embedded systems environment. As such, the architectural choices of such systems are being driven by middleware platforms. However, diversity and high frequency of evolution in middle- ware platforms lead to architectural models becoming obsolete relatively rapidly, which is in distinct contrast to the resistance nature of software architecture to frequent change. We believe that the key to this is to ab- stract away from architectural platforms and their induced architectural styles to more abstract representation of applications. In recent work we have shown that architecture-independent application models, devel- oped using modern model-based development (MBD) techniques, can be mapped to application architectures in a variety of architectural styles. Although the work provided an important proof of concept, the styles, or architectural spaces, to which application models were being mapped were simple, idealized styles. Di Nitto and Rosenblum recognized that middleware and similar platforms induce defacto architectural styles. In this paper, we discuss some of the related issues we are addressing in our research towards a systematic approach for software synthesis.

[1]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[2]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[3]  Douglas C. Schmidt,et al.  Applying patterns to develop extensible ORB middleware , 1999, IEEE Commun. Mag..

[4]  David S. Rosenblum,et al.  Exploiting ADLs to specify architectural styles induced by middleware infrastructures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  Valérie Issarny,et al.  The Role of Software Architecture in Constraining Adaptation in Component-Based Middleware Platforms , 2000, Middleware.

[6]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[7]  David Garlan,et al.  Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments , 2002, WICSA.

[8]  Laurent Pautet,et al.  PolyORB: A Schizophrenic Middleware to Build Versatile Reliable Distributed Applications , 2004, Ada-Europe.

[9]  Marija Mikic-Rakic,et al.  A style-aware architectural middleware for resource-constrained, distributed systems , 2005, IEEE Transactions on Software Engineering.

[10]  Grady Booch The Accidental Architecture , 2006, IEEE Software.

[11]  Simon Giesecke,et al.  Style-based Architectural Analysis for Migrating a Web-based Regional Trade Information System , 2006 .

[12]  Valérie Issarny,et al.  A Perspective on the Future of Middleware-based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[13]  Sam Malek Effective Realization of Software Architectural Styles with Aspects , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[14]  Yuanyuan Song,et al.  Architectural style as an independent variable , 2010, ASE.

[15]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[16]  Hamid Bagheri,et al.  Monarch: model-based development of software architectures , 2010, MODELS'10.