Integrational Software Engineering
Integrational Specification and Management of Requirements
Project leaders: Kristian Sandahl and Peter Fritzson
PhD students: Andreas Borg.
Requirements can be regarded as an aspect of a system to which other
aspects, such as design, implementation, or test aspects must be related.
Our hypothesis is that traceability from requirements to design is easier to establish and maintain if modern design concepts, such as aspects, are used.
We have a special interest in Non-Functional Requirements that are often handled implicitly in industrial practice and in newly proposed development models, such as the Rational Unified Process.
The requirements represent the intended use of the system, but in order to manage the software product we need data about the actual use of the system. We regard the usage profile as another aspect of the system, which can be expressed in terms of the requirements, annotated with data about the frequency of execution.
Real-time systems, e.g. components in telecommunication systems, have more or less stringent performance requirements. However, it is, in current software engineering practice, not obvious how the requirements should generally be broken down to subprojects, work packages, developers or system component level without introducing artificial constraints and artifacts. (This is, by the way, related to the phase ordering problem in code generation as studied in RISE-CODECOMP).
For this subproject we intend to build on an Ericsson study of the problem of performance requirements as described above by focusing on developing a general process for decomposing requirements. The state of the art is to make links from a Quality attribute tree to the UML-models (Cysnerios et al, 2004). This ensures that performance requirements are not forgotten. Our current hypothesis is that increased use of entities already in UML and in the UML profile for Schedulability, Performance, and Time (OMG 2005) can comprise much of the decomposition and representation. The models can either be built directly by the human designer or by gradually weaving information into the models in analogy to the MDA. The industrial case-study has the goal of documenting best practice within the company studied and suggest improvement actions. The research project proposed is to generalize on these results by evaluating candidate solutions. Eventually the decomposition will be done on node level; the intention is that the models will be suitable for parallelization/distribution.
Moreover, in this context we are also studying the integration of requirements handling in an integrated system development process for both software and hardware. How should requirements be specified, prioritzed, and traced? As a basis for this study we are developing a prototype of an integrated UML/SysML/Modelica UML profile including requirements support as an Eclipse plugin.
Industry contacts: Ericsson, Telelogic (FocalPoint).
Page responsible: Webmaster
Last updated: 2012-05-07