
Christian Lengauer , Sven Apel
2011, 5(1-2Part2):231-244.
Abstract:This is a personal appreciation and snapshot view of Manfred Broy's contributions to the research area of feature-oriented system design and engineering. We sketch the algebraic approach to the area and relate Broy's work to it. To give it a concrete context, we compare it with our own work on feature orientation. There are a number of correspondences and some differences: Broy works at a higher level of abstraction, the specification level, we at a level closer to the software structure, the programming level. We put more emphasis on the concept of program similarity than Broy does.
Peter Hofner , Ridha Khedri , Bernhard Moller
2011, 5(1-2Part2):245-266.
Abstract:A common approach to dealing with software requirements volatility is to define product families instead of single products. In earlier papers we have developed an algebra of such families that, roughly, consists in a more abstract view of and-or trees of features as used in Feature-Oriented Domain Analysis. A product family is represented by an algebraic term over the feature names; it can be manipulated using equational laws such as associativity or distributivity. Initially, only "syntactic" models of the algebra were considered, giving more or less just the names of the features used in the various products of a family and certain interrelations such as mandatory occurrence and implication between or mutual exclusion of features, without attaching any kind of "meaning" to the features. While this is interesting and useful for determining the variety and number of possible members of such a family, it is wholly insuffcient when it comes to talking about the correctness of families in a semantic manner. In the present paper we define a class of "semantic" models of the general abstract product family algebra that allows treating very relevant additional questions. In these models, the features of a family are requirements scenarios formalised as pairs of relational specifications of a proposed system and its environment. However, the paper is just intended as a proof of feasibility; we are convinced that the approach can also be employed for di?erent semantic models such as general denotational or stream-based semantics.
Ruth Breu , Berthold Agreiter , Matthias Farwick , Michael Felderer , Michael Hafner , Frank Innerhofer-Oberperfler
2011, 5(1-2Part2):267-290.
Abstract:The new generation of collaborative IT systems poses great challenges to software engineering due to their evolving nature and their high quality requirements. In particular, the management of collaborative systems requires the integration of perspectives from IT management, software engineering and systems operation and a systematic way to handle changes. In this paper we will present the core ideas of Living Models - a novel paradigm of model - based development, management and operation of evolving service oriented systems. A core concern of Living Models is to support the cooperation of stakeholders from IT management, software engineering and systems operation by providing appropriate model-based abstractions and a focus on interdependencies. Based on this idea the running services together with their modelling environments constitute the basic unit of quality management and evolution. Living Models provides a coherent view of the quality status of the system (integrating the perspectives of all stakeholders) which evolves together with the running systems. This comes along with a software engineering process in which change is a first-class citizen. In this paper we will present ten core principles of Living Models together with three application scenarios.
Helmuth Partsch , Marcel Dausend , Dominik Gessenharter , Jens Kohlmeyer , Alexander Raschke
2011, 5(1-2Part2):291-312.
Abstract:With respect to contents, Software Engineering deals with the mutual combination of formalisms, methods, and tools that are integrated by a common theoretical basis, as well as applications that use all these aspects. The model-driven development (MDD) of software is a typical instance of this view, as it exhibits all the facets mentioned above. In this paper, we identify some major unsolved problems of MDD concerning the contemplated areas and postulate a pragmatically motivated couple of hypotheses defining our constraints for solving these problems. Our particular view of MDD uses the Unified Modeling Language (UML) which we substantiate by defining a formal semantics for wide parts of it. On this basis, we suggest a process which incorporates model elaboration combined with aspects of quality assurance. Prototypical tools to support our approach are presented and their applicability is shown by means of two examples.
2011, 5(1-2Part2):313-334.
Abstract:Abstraction is a fundamental component of software design. In particular, it is crucial in the conception of large and complex software systems, whose implementations are so intricate that they tax our cognitive capacities. The need to design, comprehend, and manage the evolution of such systems has given rise to the notion of software architecture - an abstract representation of a software system which focuses solely on its essential elements and relationships. Unfortunately, the process of abstraction by which such models are derived is typically complex and highly subjective, making it difficult to validate and document. This leads to a number of practical problems including, notably, the potential for difficult-to-detect discrepancies between design intent and implementation. To mitigate this, we identify and describe some of the most common abstraction patterns used by software architects to render a complex system into a more comprehensible form. For greater clarity, each pattern is described in detail using a provisional graph-based formalism. The intent is to not only provide a precise description of the abstraction process for each pattern, but also to open the possibility of providing automation support for documenting and validating the steps involved in transitioning between system representations at different levels of abstraction.
2011, 5(1-2Part2):355-377.
Abstract:This paper describes the course and the results of a research and development project that is a textbook case for business informatics projects. Starting with the idea for new communications technology and the ensuing goals, we describe the design along with the logical and technical architecture of the core result -- a software framework to serve as the technological basis for the development of software-intensive location-based systems. To show which solutions were selected to master special problems related to location-based services, we present selected design details. In addition, we describe important aspects of the management of large R&D projects and the practical application of research results, both of which are essential from the perspective of business informatics.