Plastic Partial Components: A solution to support variability in architectural components.
ABSTRACT Software product line engineering is becoming widely used due to the improvement it means when developing software products of the same family. The commonalities and variabilities of software product lines (SPL) are identified during the domain engineering process and then, they are realized in the software architecture. Therefore, mechanisms to explicitly specify the commonalities and variabilities of SPLs at the architectural level are required. Most of the current mechanisms specify variations on the architecture by adding or removing architectural elements. However, it is also necessary to specify variations inside components. In this paper, we propose the notion of plastic partial components to support internal variations. The specification of these components is performed using invasive software composition techniques and without tangling the core and product architectures of the SPL. This contribution is illustrated through a SPL for developing domain-specific validation environments.
- [show abstract] [hide abstract]
ABSTRACT: The effective management and composition of architectural variabilities has long been of importance to product line architects. Architects need to describe how conceptual variabilities are composed and realised through architectural decompositions of a product line. Architecture variabilities need to be described in terms of the chosen design decompositions, which do not often correspond naturally to feature model decompositions. Also, the fine-grained nature of certain architectural variabilities makes it difficult to represent them in a modular fashion, and describe how they are composed across different views. In order to address these issues, this paper presents a variability modelling language (VML), which supports first-class representation of heterogeneous forms of architectural variabilities. The language complements existing architectural modelling approaches for product lines by providing mechanisms to: (i) explicitly reference variation points in multiple architectural views, and (ii) support compositions involving both fine-grained and coarse-grained variabilities in an orthogonal fashion. The completeness and simplicity of VML is assessed through four case studies from different domains.Software Composition, 01/2008: pages 36--51; Springer.
- [show abstract] [hide abstract]
ABSTRACT: Abstractions to express architectural connection play a central role in architecture design, especially in Architecture Description Languages (ADLs). With the emergence of aspect-oriented software development (AOSD), there is a need to understand the adequacy of ADLs' conventional connection abstractions to capture the crosscutting nature of architectural concerns. This paper reflects on seven issues pertaining to the interplay of crosscutting concerns and architectural connection abstractions. We review and assess the design of existing aspect-oriented (AO) and non-AO ADLs with respect to these issues. A case study is used to illustrate our viewpoints, claims, and proposals.
Conference Proceeding: Identifying Application Key Knowledge through System Operations Modeling.[show abstract] [hide abstract]
ABSTRACT: One of the problems associated with complex systems engineering is identifying the system knowledge relevant to build system implementation. System operations are an essential part of this knowledge. Software and system engineering standards highlight the importance of system operations; templates for a concept of operations document are available from different standard bodies in the context of requirements engineering and specification. However, specific guidelines for operations modeling are not usually provided. This paper introduces an approach to systematically model system operations. The cornerstone for this is an operations metamodel; this metamodel is presented within this paper and has been defined using UML 2.x. The baseline for the metamodel is a schema, also introduced within the paper, which formalizes system operations in terms of commands acting on systems, inputs to the system, and different kinds of outputs classified into responses, notifications and alarms. Operations models, as presented here, comprise system knowledge essentials from a functional point of view but reduced in size compared to the whole system specification. They can be deployed in several ways; this paper presents their use as drivers for system development and validation from early lifecycle stages.Proceedings of the Six IEEE International Conference on Cognitive Informatics, ICCI 2007, August 6-8, Lake Tahoe, CA, USA; 01/2007