Session:Architectural Descriptions--Paper Preview
From WICSA Conference Wiki
Preserving Architectural Choices throughout the Component-based Software Development Process
Chouki Tibermacine, Valoria (Université de Bretagne Sud)
Régis Fleurquin, Valoria (Université de Bretagne Sud)
Salah Sadou, Valoria (Université de Bretagne Sud)
It is argued that architecture comprehension and regression testing of a software system are the most expensive maintenance activities. This is mainly due to the fact that architectural choices are either not explicit, at every stage of the software development process, or not preserved from one stage to another. In this paper, we present an Architectural Constraint Language (ACL) as a means to formally describe architectural choices at all the stages. This language is based on the UML's Object Constraint Language and on a set of MOF-compliant metamodels. We also present a prototype which validates the proposed approach. It allows the evaluation of ACL expressions at two stages and ensures, by using a transformation mechanism, that the constraints stated at one stage are subsequently preserved.
Mapping ADL Specifications to an Efficient and Reconfigurable Runtime Component Platform
Ackbar Joolia, Lancaster University
Thais Batista, Universidade Federal do Rio Grande do Norte (UFRN)
Geoff Coulson, Lancaster University
Antonio Tadeu Gomes, Laboratorio Nacional de Computacao Cientifica (LNCC)
Recent research has recognised the potential of coupling ADLs with underlying runtime environments to support systematic and integrated “specification-to-deployment” architectures. However, while some promising results have been obtained, much of this research has not considered the crucial issue of causally-connected dynamic reconfiguration and has considered only domain-specific areas. In this paper we discuss a specification-to-deployment architecture called Plastik that employs an extended general-purpose ADL and is underpinned by an efficient runtime that is suited both for high-level application development and low-level systems development (e.g. embedded systems). Runtime reconfiguration is supported both at the ADL level and at the runtime level, and both programmed reconfiguration and ad-hoc reconfiguration are supported. The paper focuses on the mapping of ADL-level specifications to runtime instantiations and on the necessary runtime support for causally-connected dynamic reconfiguration.
How Does the Architect’s Role Change as the Software Ages?
John Klein, Avaya, Inc.
It is widely recognized that a good and appropriate architecture is critical to the success of a software product or system. However, neither the system nor its architecture is static, and a good architecture anticipates and guides the evolution of the system over time. As the system evolves over time, the role of the software architect evolves as well, and skills that enabled an architect to be successful during one phase of a system’s lifetime may not enable success in later phases. This paper proposes a three-phase model to describe the evolution of software systems, and describes the contributions of the software architect that are necessary for success in each phase. This topic is of interest to practicing architects, and to software development managers responsible for selecting and hiring architects to contribute to a software system.
