Softw Syst Model (2013) 12:439–440DOI 10.1007/s10270-013-0362-4
Model-based lifecycle management of software-intensive systems,applications, and services
Robert France · Bernhard Rumpe
Published online: 18 June 2013© Springer-Verlag Berlin Heidelberg 2013
The lifecycle of a successful system is the time period thatcovers all activities associated with developing, configuring,deploying, operating, and retiring the system. Variations insystem lifecycles can be expected, for example, differencesmay arise as a result of the inclusion of physical parts in thesystem and the number of installations. In addition, softwareretirement activities may extend over a long period of time,for example, in cases where access to data provided by asystem may be required long after the system is terminated.
Lifecycle management has a lot to do with managing theavailable information about a system. A significant amountof this information can typically be found in the models pro-duced during various development. Software models can thusplay a vital role in system lifecycle management. For exam-ple, requirement models can be used to support managementof requirements, feature models can be used to manage sys-tem and user specific variabilities as well as commonalities,and architecture and design models can provide informationthat support management of deployment and validation activ-ities. The potential role that models can play in lifecycle man-agement raises the following questions: “To what extent dothe models produced during software development help (orhinder) lifecycle management?” “Should the software mod-eling activity be integrated with the lifecycle management ofsystems, and, if yes, how can this be done?” “What tools areneeded to better leverage the use of models in lifecycle man-agement?” “Does a model also have a lifecycle that needs tobe managed?”
R. FranceColorado State University, Fort Collins, Colorado, USA
B. Rumpe (B)RWTH Aachen University, Aachen, Germanye-mail: Bernhard.Rumpe@sosym.org
A variety of models may be needed to support lifecy-cle management, each describing a particular aspect of thesystem for particular lifecycle management purposes. Insuch situations, it is important to have an understandingof how the models relate to each other. Such an under-standing is needed, for example, to develop appropriatetechnologies for maintaining consistency across the modelsand for managing the propagation of changes across themodels.
In various conferences, workshops and discussions, wehave observed the following model and language integrationtrends:
• Integration of heterogeneous models and of their cor-responding modeling languages remain a challengingresearch problem. For example, the many semantic vari-ation points in the UML make it difficult to produce anintegrated, semantically coherent language in which thevariation points are resolved in a consistent manner. Itmay also be the case that the manner in which the UMLnotations are integrated vary, leading to the need to sup-port variations on the forms of integration.
• Providing effective support for model evolution is stilla pressing problem. Some of the challenging problemsinclude developing support for semantic differencing(diffing) and merging of models. For graphical model-ing languages, the lack of support of modularity andencapsulation in modeling languages, as well as theirtwo-dimensional graphical nature, presents challenges;comparing text on a line basis is much easier than com-paring model elements arranged in graph structures.
• The need to provide support for tracing informationthrough various models is widely appreciated, particu-larly in software evolution activities. We suspect that thisproblem is best tackled by developing language-specific
440 R. France, B. Rumpe
solutions, rather than general solutions that are languageagnostic.
• Language and model integration is particularly chal-lenging when there is a need to model non-softwareaspects of a system. For example, in the domain ofcyberphysical systems, language integration involvesproviding the means to integrate underlying “commu-nication” paradigms, namely calculi from control the-ory, physics, and engineering disciplines with the digitalstate based theory from computer science. Such integra-tion should lead to better model-based lifecycles of thesesystems.
• We anticipate that a variety of domain specific lan-guages will be more widely used in software developmentprojects, and thus support for integrating DSLs with gen-eral purpose modeling and programming languages willbe needed.
• Variability of hardware and software is often handledexternally to modeling languages, but it may be moreeffective to provide support for such variability within thelanguages. An approach to managing variability in pro-duct lines that is built on top of modeling languages mayhelp to some extent, but a language-integrated approachthat leverages context conditions and language semanticsmay be more effective.
• Semantic integration of models is furthermore neededin situations in which integrated models are used as thebasis for static or dynamic analysis (e.g., formal analysisof functional properties and simulation). Few integrationtechniques adequately address semantic issues.
• Recent research has focused on the use of models at run-time to support runtime adaptation of software. For exam-ple, in plant control systems an explicit representationof the controlled plant that faithfully captures monitoredaspects of the plant can be used as the basis for adapt-ing the plant control software. Runtime models cannotbe distinguished anymore from requirements and designmodels produced during development, in terms of theabstractions they embody. From this perspective, the life-cycle of requirements and design models extends beyondthe development and maintenance phase into the ope-rational phases. In fact, using these models at runtimemakes the models an integral part of the operation of thesystem, while at the same time, enables evolution of therunning system through evolution of the runtime models.This integrated co-evolution can be viewed as a form oflifecycle management based on these models.
In summary, the use of models in system lifecycle manage-ment raises interesting and challenging research opportu-nities. Furthermore, we in the software and system model-ing community cannot ignore lifecycle management issues:As the use of models becomes more widespread, the needfor lifecycle management of models will become necessary.Sound lifecycle management of development artifacts is acore competence of integrated software-intensive systemsdevelopment and becomes even more pressing in the con-text of globalized software development environments.
Copyright of Software & Systems Modeling is the property of Springer Science & BusinessMedia B.V. and its content may not be copied or emailed to multiple sites or posted to alistserv without the copyright holder’s express written permission. However, users may print,download, or email articles for individual use.
Model-based lifecycle management of software-intensive systems, applications, and services
Is this the question you were looking for? Place your Order Here