11 research outputs found
Family-oriented requirements engineering
Abstract
Modern software products shall be developed within a short time and at the same
time they should be of a high quality. Software engineering is able to fulfill
these requirements by prefabricating components. Within a domain, planned and
comprehensive reuse of components is supported by the concept of system family
development. A system family is based on a reference architecture made of
assets, which are common to all family members and assets, which are variable.
Commonalities and variabilities have to be considered in all phases of the
system family development and they have to be elaborated correctly. Mistakes
made in the requirements engineering phase, as the beginning of a development,
will cause the most damage to the overall development.
The analysis of the requirements engineering phase of system family development
in this paper shows, that most of the current scientific solutions in this field
are based on feature modeling, although it is inconsistent and cannot be
automatically processed. The proposed solution of this paper – Family-Oriented
Requirements Engineering (FORE) – extends feature modeling and integrates it
into a new data model, capable of holding all the information acquired within
the requirements engineering phase. Dependencies within feature models and
between features and further model elements can be modeled with the new FORE
Feature Constraint Language (FCL). FCL offers 30 predefined dependencies for
verifiable system family models. Extended feature models of FORE allow the
automated verification of a subset of features. Thus, only valid family members
can be derived of the system family. The development of a system family model as
well as the derivation of family members are supported by the FORE development
process. The FORE-process integrates current processes and the extended feature
modeling of FORE into a requirements engineering process for system families.
The proposed solution was prototypically realized by implementing the FORE-Data
Model as XML-Schema. The usage of the prototype is aimed at the FORE-Development
Process. FORE was tested within a University project as well as in several
student works with industry partners. The results of this paper have shown the
applicability of FORE, improved its process and data model and revealed its
limits.Heutige Softwareprodukte sollen in kurzer Zeit bei gleichzeitig hoher Qualität entwickelt werden, wobei die Software-Technik dieser Forderung durch die Vorfertigung einzelner Komponenten gerecht wird. Die geplante und umfassende Wiederverwendung von Komponenten innerhalb einer Anwendungsdomäne wird durch das Konzept der Systemfamilienentwicklung unterstützt. Eine Systemfamilie basiert auf einer Referenzarchitektur, die aus Anteilen besteht, die allen Familienmitgliedern gemein sind und Anteilen, die optional sind. In allen Phasen der Systemfamilienentwicklung müssen gemeinsame und optionale Anteile berücksichtigt und korrekt verarbeitet werden, wobei Fehler in der Requirements-Engineering-Phase, dem Beginn der Entwicklung, den größten wirtschaftlichen Schaden nach sich ziehen.
In dieser Arbeit zeigt die Analyse der Requirements-Engineering-Phase der Systemfamilienentwicklung, dass die Systemfamilienmodelle der meisten, existierenden Ansätze auf der Merkmalmodellierung basieren, die jedoch inkonsistent und nicht automatisiert verarbeitbar ist. Der hier beschriebene Lösungsansatz ? Family-Oriented Requirements Engineering (FORE) ? erweitert Merkmalmodelle und integriert sie in ein neues Datenmodell, das alle im Verlauf der Requirements-Engineering-Phase erarbeiteten Informationen enthält. Zur Modellierung aller Abhängigkeiten innerhalb von Merkmalmodellen und von Merkmalen zu weiteren Modellelementen bietet FORE die neue Feature Constraint Language (FCL) mit 30 vordefinierten Beziehungen an, wodurch Systemfamilienmodelle überprüfbar sind. Durch die kundenspezifische Auswahl von Merkmalen wird ein Familienmitglied basierend auf der Systemfamilie abgeleitet. Die erweiterten Merkmalmodelle von FORE ermöglichen die automatisierte Überprüfung einer Merkmalauswahl, sodass nur gültige Familienmitglieder abgeleitet werden können. Sowohl die Entwicklung eines Systemfamilienmodells als auch die Ableitung von Familienmitgliedern werden durch den FORE-Entwicklungsprozess unterstützt, der existierende Ansätze und die erweiterte Merkmalmodellierung in einem Requirements-Engineering-Prozess für Systemfamilien integriert. Anhand eines Prototyps wird die Realisierbarkeit des Lösungsansatzes gezeigt, indem das FORE-Datenmodell in eine XML-Struktur umgesetzt und die Benutzung des Prototyps dem FORE-Entwicklungsprozess folgt.
FORE wurde im Rahmen eines universitären Projektes, wie auch durch diverse studentische Arbeiten mit Industriepartnern überprüft. Die Ergebnisse dieser Arbeiten haben die Praxistauglichkeit von FORE gezeigt, den Prozess und das Datenmodell verbessert und dessen Grenzen aufgezeigt
Criteria for the verification of feature models
Product Line (PL) based development is a promising approach to develop software intensive systems. Experience already report multiple benefits, such as reduced time to market, better reuse, and reduced development costs. PL modelling languages, in particular to create feature models (FMs), and PL configuration processes are now supported by market tools. Although there is a wealth of research works on the theme of FM verification, there is to our knowledge no comprehensive method, technique or tool. However, it is crucial that when verifying a FM, the right criteria are considered: any error in a FM will inevitably spread to the configured software and generate PL architecture stability issues, with a serious risk of undermining the expected benefits. Dealing with key issues such as selecting the 'right' set of verification criteria or defining a small core of criteria from which all other could be derived calls for a consistent definition of all the criteria. This paper presents an original literature survey of FM verification criteria in which all the criteria are (i) classified according to their purpose and (ii) formalized consistently using first order logic
A Method based on Association Rules to Construct Product Line Model
International audienceThe success of a product line is the ability to improve application engineering, heavily depends on the quality of Product Line Models (PLMs). This paper reports on our effort to develop a method that exploits mining techniques such as the apriori algorithm, independence tests and the like to automate the construction of a PLM specified with FORE, starting from a collection of Product Models (PMs). Using these techniques, the proposed method guides the identification of candidate features, group cardinalities and dependencies. These can be used to progressively construct the PLM consistently with the existing PMs. The method was developed and tested in an industry setting starting with bills of materials as a collection of PMs. One interesting lesson learn from this experiment is that while the PLM is constructed, the domain engineer discovers errors in PMs. We believe that this advocates for a tighter intertwining between domain engineering and application engineering
RED-PL, a Method for Deriving Product Requirements from a Product Line Requirements Model
International audienceSoftware product lines (SPL) modeling has proven to be an effective approach to reuse in software development. Several variability approaches were developed to plan requirements reuse, but only little of them actually address the issue of deriving product requirements. Indeed, while the modeling approaches sell on requirements reuse, the associated derivation techniques actually focus on deriving and reusing technical product data.This paper presents a method that intends to support requirements derivation.Its underlying principle is to take advantage of approaches made for reuse PL requirements and to complete them by a requirements development process by reuse for single products. The proposed approach matches users' product requirements with PL requirements models and derives a collection ofrequirements that is (i) consistent, and (ii) optimal with respect to users' priorities and company's constraints. The proposed methodological process was validated in an industrial setting by considering the requirement engineering phase of a product line of blood analyzers
Deriving Product Line Requirements: the RED-PL Guidance Approach
Product lines (PL) modeling have proven to be an effective approach to reuse
in software development.Several variability approaches were developed to plan
requirements reuse, but only little of them actuallyaddress the issue of
deriving product requirements.This paper presents a method, RED-PL that intends
to support requirements derivation. The originality ofthe proposed approach is
that (i) it is user-oriented, (ii) it guides product requirements elicitation
andderivation as a decision making activity, and (iii) it provides systematic
and interactive guidance assistinganalysts in taking decisions about
requirements. The RED-PL methodological process was validatedin an industrial
setting by considering the requirement engineering phase of a product line of
blood analyzers
The Feature-Architecture Mapping Method for Feature-Oriented Development of Software Product Lines
Software Produktlinien sind die Antwort von Software Engineering auf die
zu-nehmende Komplexität und kürzerenProdukteinführungszeiten von heutigen
Softwaresystemen. Nichtsdestotrotz erfordern Software Produktlinien
einefortgeschrittene Wartbarkeit und hohe Flexibilität. Das kann durch die
angemessene Trennung der Belange erreicht werden.Merkmale stellen die
Hauptbelange im Kontext von Software Produktlinien dar. Demzufolge sollte
ein Merkmal idealerweise ingenau einer Architekturkomponente implementiert
werden. In der Praxis ist das jedoch nicht immer machbar. Deshalb
solltezumindest ein starkes Mapping zwischen Merkmalen und der Architektur
bestehen. Die Methoden zur Entwicklung von SoftwareProduktlinien, die dem
Stand der Technik entsprechen, führen zu bedeutender Verstreutheit und
Vermischung von Merkmalen. Indieser Arbeit wird die Feature-Architecture
Mapping (FArM) Methode entwickelt, um ein stärkeres Mapping zwischen
Merkmalenund der Produktlinien-Architektur zu erzielen. Der Input für FArM
besteht in einem initialen Merkmalmodell, das anhand einerMethode zur
Domänenanalyse erstellt wurde. Dieses initiale Merkmalmodell wird einer
Serie von Transformationen unterzogen.Die Transformationen streben danach,
ein Gleichgewicht zwischen der Sichtweise von Kunden und
Softwarearchitekteneinzustellen. Die Merkmalinteraktionen werden während
der Transformationen ausdrücklich optimiert. Von jedem Merkmal
destransformierten Merkmalmodells wird eine Architekturkomponente
abgeleitet. Die Architekturkomponenten implementieren dieApplikationslogik
der entsprechenden Merkmale. Die Kommunikation zwischen den Komponenten
spiegelt die Interaktion zwischenden Merkmalen wider. Dieser Ansatz führt
im Vergleich zu den Produktlinien-Entwicklungsmethoden des Stands der
Technik zueinem stärkeren Mapping zwischen Merkmalen und der Architektur
und zu einer höheren Variabilität auf Merkmalebene. DieseEigenschaften
haben eine bessere Wartbarkeit und eine vereinfachte generative
Produktinstanzierung zur Folge, was wiederumdie Flexibilität der
Produktlinien steigert. FArM wurde durch ihre Anwendung in einigen Domänen
evaluiert, z.B. in denDomänen von Mobiltelefonen und Integrierten
Entwicklungsumgebungen (IDEs). Diese Arbeit wird FArM anhand einer
Fallstudie inder Domäne von Künstlichen Neuronalen Netzwerken präsentieren.Software product lines are the answer of software engineering to the
increasing complexity and shorter time-to-market ofcontemporary software
systems. Nonetheless, software product lines demand for advanced
maintainability and high flexibility.The latter can be achieved through the
proper separation of concerns. Features pose the main concerns in the
context ofsoftware product lines. Consequently, one feature should ideally
be implemented into exactly one architectural component. Inpractice, this
is not always feasible. Therefore, at least a strong mapping between
features and the architecture mustexist. The state of the art product line
development methodologies introduce significant scattering and tangling
offeatures. In this work, the Feature-Architecture Mapping (FArM) method is
developed, to provide a stronger mapping betweenfeatures and the product
line architecture. FArM receives as input an initial feature model created
by a domain analysismethod. The initial feature model undergoes a series of
transformations. The transformations strive to achieve a balancebetween the
customer and architectural perspectives. Feature interaction is explicitly
optimized during the feature modeltransformations. For each feature of the
transformed feature model, one architectural component is derived.
Thearchitectural components implement the application logic of the
respective features. The component communication reflectsthe feature
interaction. This approach, compared to the state of the art product line
methodologies, allows a strongerfeature-architecture mapping and for higher
variability on the feature level. These attributes provide
highermaintainability and an improved generative approach to product
instantiation, which in turn enhances product lineflexibility. FArM has
been evaluated through its application in a number of domains, e.g in the
mobile phone domain and theIntegrated Development Environment (IDE) domain.
This work will present FArM on the basis of a case study in the domain
ofartificial Neural Networks
Colored model based testing for software product lines (CMBT-SWPL)
Over the last decade, the software product line domain has emerged as
one of the mostpromising software development paradigms. The main benefits
of a software product lineapproach are improvements in productivity, time
to market, product quality, and customersatisfaction.Therefore, one topic
that needs greater emphasis is testing of software product lines toachieve
the required software quality assurance. Our concern is how to test a
softwareproduct line as early as possible in order to detect errors,
because the cost of error detectedIn early phases is much less compared to
the cost of errors when detected later.The method suggested in this thesis
is a model-based, reuse-oriented test technique calledColored Model Based
Testing for Software Product Lines (CMBT-SWPL). CMBT-SWPLis a
requirements-based approach for efficiently generating tests for products
in a soft-ware product line. This testing approach is used for validation
and verification of productlines. It is a novel approach to test product
lines using a Colored State Chart (CSC), whichconsiders variability early
in the product line development process. More precisely, the vari-ability
will be introduced in the main components of the CSC. Accordingly, the
variabilityis preserved in test cases, as they are generated from colored
test models automatically.During domain engineering, the CSC is derived
from the feature model. By coloring theState Chart, the behavior of
several product line variants can be modeled simultaneouslyin a single
diagram and thus address product line variability early. The CSC
representsthe test model, from which test cases using statistical testing
are derived.During application engineering, these colored test models are
customized for a specificapplication of the product line. At the end of
this test process, the test cases are generatedagain using statistical
testing, executed and the test results are ready for evaluation.
Inxaddition, the CSC will be transformed to a Colored Petri Net (CPN) for
verification andsimulation purposes.The main gains of applying the
CMBT-SWPL method are early detection of defects inrequirements, such as
ambiguities incompleteness and redundancy which is then reflectedin saving
the test effort, time, development and maintenance costs
Lernen im Kontext : Digitale Medien für Menschen mit Lernschwierigkeiten Entwicklung und Erprobung eines mobilen Assistenzsystems für kontextbezogenes Lernen
A model of an assistance-system was built in an intensive and multilayered process of participatory software development in the context of a sheltered-workshop for disabled people. The solution is assisting people with learning disabilities to accomplish auton-omously their job tasks. Based on emotion-recognition and specific personalized profiles the system can recognize the cognitive abilities in a certain situation and assist to coop with problems by personalized feedback. Therefor the successful completion of a task is supported and the system can prevent failures and dangerous mistakes. As a result the experience of personal confidence and self-efficacy can be fostered. By a prototype the model could be evaluated and refined. The system consists of an authoring-area for designing personalized audio-visual work instructions and a mobile assistance area, that could easily be integrated in a production station. Because of the special needs of the target group and their vulnerability a adapted version of participatory software de-velopment process has to be initiated and applied
Zertifizierbarer Entwicklungsprozess für komplexe Informationsverarbeitungssysteme in der Wägetechnik
The dissertation is about principles, methods and techniques during the
systematic development of embedded systems in the domain of measurement
techniques. The considered domain contains fields of application with
challenging and specific requirements of the information processing system.
E.g. the dynamic weighing systems need solutions with very high resolution
and lowest achievable measurement uncertainty in order to perform
high-speed-measurements in a mechanically disturbed environment. In
particular, the abilities for official calibration and metrologic
reliability are considered. The complex and high-performance functions are
required to guarantee measurement results. FPGA-based systems are used for
the implementation of these functions.The especially designed certifiable
development process (ZEfIRA) provides a procedural method for the
development of complex embedded systems. The metrologic reliability, the
legal requirements like calibratability, the validation and the
verification are included as a general criteria in the entire development
process. ZEfIRA is based on the 3W-model and is designed in an evolutionary
manner. This process starts with the analysis of a predecessor system
followed by the model-based development of a prototype, which leads into an
optimized and application-specific product solution.The study emphasizes
the influence of challenging requirements on the measurement system. It
will be presented, how these can be integrated into the modelling level
during the design and the implementation on a FPGA-based target platform.
The stages of the functional and technical design of the system are
analysed, whereas the realization of the partitions “FPGA logic” and “FPGA
softcore solutions” are discussed in detail.Based on the preliminary design
of the information processing in an electromagnetic force compensation
(EMC) scale, the applicability of the process ZEfIRA and its developed
methods and principles are proved. On the one hand, the optimal
system-specific algorithms of signal processing, control and safety and on
the other hand whose technical implementation are essential. This was
realized with different performance parameters. In addition, the prototype
allows the possible comprehensive analysis for embedding system. In the
conclusion, the performance of ZEfIRA based on the prototype development is
evaluated.Die Dissertation befasst sich mit Prinzipien, Methoden und Techniken der
systematischen Entwicklung von komplexen Eingebetteten Systemen. Die
betrachtete Domäne besitzt Anwendungsbereiche mit anspruchsvollen und
besonderen Anforderungen an die Informationsverarbeitung. In der
dynamischen Wägetechnik sind z.B. Lösungen mit sehr hohen Auflösungen und
kleiner Messunsicherheit bei schnellen Messungen in einem mechanisch
gestörten Umfeld notwendig. Die Anforderungen an die Eichfähigkeit und die
Metrologische Sicherheit sind Besonderheiten. Es werden komplexe und
hochleistungsfähige Funktionen zur Erzeugung der Messergebnisse verlangt.
In der Arbeit werden dafür vorwiegend FPGA-basierte Eingebettete Systeme
verwendet. Der entworfene zertifizierbare Prozess (ZEfIRA) bietet eine
Vorgehensweise für die Entwicklung von Eingebetteten Systemen. Die
Metrologische Sicherheit, die Eichfähigkeit, die Validier- und der
Verifizierbarkeit werden als Kriterien im gesamten Entwurfsprozess
berücksichtigt. ZEfIRA basiert auf einem 3W-Modell und ist evolutionär
angelegt. Innerhalb des Prozesses werden die Analyse eines eventuellen
Vorläufersystems sowie die modellbasierte prototypische Entwicklung bis hin
zu einer produzierbaren Lösung (Produkt) durchgeführt. Die Arbeit
verdeutlicht den großen Einfluss der spezifischen Anforderungen an das
Messsystem. Es wird gezeigt, wie diese bereits zu der Entwurfszeit auf
Modellebene und im Weiteren bei der Implementierung in einer FPGA-basierten
Zielplattform berücksichtigt werden. Es werden verschiedene Schritte des
funktionalen und technischen Systementwurfs untersucht und ausführlich die
Realisierungspartitionen „FPGA-Logik“ und „FPGA-Softcore-Lösungen“
betrachtet. Als Beispiel zum Nachweis der Anwendbarkeit des Prozesses
ZEfIRA dient die prototypische Entwicklung des
Informationsverarbeitungssystems einer elektromagnetischen
Kraftkompensationswaage (EMKW). Ausschlaggebend sind die optimal an das
Gesamtsystem angepassten Signalverarbeitungs-, Regelungs- und
Sicherheitsalgorithmen und deren technische Umsetzung. Dieses wurde mit
verschiedenen Leistungsparametern, wie z.B. Latenz,
Verarbeitungskomplexität und Genauigkeit realisiert. Ergänzend ermöglicht
der Prototyp umfassende Analysemöglichkeiten für das Messsystem. Die
abschließende Wertung ist eine Abschätzung der Leistungsfähigkeit von
ZEfIRA auf Basis dieser prototypischen Entwicklung
Evolution und Komposition von Softwaresystemen: Software-Produktlinien als Beitrag zu Flexibilität und Langlebigkeit
Software systems are today bigger, more complex and of higher importance for
products and services than a decade before. At the same time changes are
required many more frequently and of a larger size. Furthermore, they have to
be implemented faster. Additionally, the software must achieve a higher life
span, particularly because of the cost of its development. In the past,
Object-Oriented Programming and Reuse techniques did not provide the expected
success. The introduction of software product lines respectively system
families makes possible it to reach a degree of prefabrication similar to the
one of serial production. At the same time they facilitate the delivery of
product variants with a short time to market.
In this work methods of the methods of domain analysis are integrated with
Reuse approaches and techniques of Generative Programming, and a methodology
for product line development is presented. Feature models are used as means
expressing variability and product configurations, so that the prefabrication
be planned and the production of customer-specific products can be
controlled. By enforcing the formalization in terms of syntax and semantics,
feature models are made accessible to tools and automation. Object-oriented
design models and architecture are separated into fine-granular components in
such a way that new products can easily be developed as combinations of those
components. The implementation of such products is automated by the
composition of source code components. The composition of object models
separated similarly enables a uninterrupted automation for the product
development, which is controlled by a customer by means of a feature
selection. To facilitate such a composition, the Hyperspace approach is
applied to UML to Hyper/UML, which makes possible a feature-driven separation
and composition of object models. In this way slim products can be developed,
containing only the actually needed functionality. For the evolution of
product lines and for the integration of existing solutions and components
into the evolution, Reverse Engineering and Refactoring techniques are
integrated. Requirements, models and implementation are connected by
Traceability links to perform changes consistently. As a consequence, the
loss of architectural quality - so-called Architectural Decay - can be
avoided during the iterative development process. Measures for the
improvement of the project and quality management are regarded briefly, as
far as they are of importance for the effectiveness of the developed methods.
The applicability and suitability of the results of the work were examined in
several industrial projects.Softwaresysteme sind heute umfangreicher, komplexer und von entscheidenderer Bedeutung für Produkte und Dienstleistungen als eine Dekade zuvor. Gleichzeitig sind Änderungen viel häufiger und in größerem Umfang erforderlich. Sie müssen auch schneller realisierbar sein. Zudem muss die Software eine höhere Lebensdauer erreichen, vor allem wegen des Aufwandes zu ihrer Entwicklung. Objektorientierte Programmierung und Wiederverwendungstechniken haben dabei nicht den erwarteten Erfolg gebracht. Die Einführung von Software-Produktlinien beziehungsweise Systemfamilien ermöglichen es, einen der Serienfertigung ähnlichen Vorfertigungsgrad zu erreichen und erlauben es gleichzeitig, kurzfristig Produktvarianten zu erstellen.
In dieser Arbeit werden Methoden der Domänenanalyse mit Wiederverwendungsansätzen und Generativen Programmiertechniken verknüpft und eine Methodik zur Produktlinien-Entwicklung vorgestellt. Featuremodelle werden als Ausdrucksmittel für Variabilität und Produktkonfigurationen eingesetzt, damit die Vorfertigung geplant und die Erstellung von kundenspezifischen Produkten gesteuert werden kann. Durch Präzisierung ihrer Syntax und Erweiterung ihrer Semantik werden Featuremodelle einer Nutzung in Werkzeugen zugänglich gemacht. Objektorientierte Entwurfsmodelle und Architektur werden so in feingranulare Komponenten zerlegt, dass Varianten als neue Produkte mit geringem Aufwand erstellbar sind. Die Erstellung der Implementierung solcher Produkte wird durch die Komposition von Quelltext-Komponenten automatisiert. Die Komposition von ebenfalls zerlegten Objektmodellen ermöglicht eine durchgehende Automatisierung der Produkterstellung, die durch einen Kunden mittels der Feature-Auswahl gesteuert wird. Dafür wird mit Hyper/UML eine Umsetzung des Hyperspace-Ansatzes auf die Modellierungssprache UML entwickelt, die eine Feature-gesteuerte Zerlegung und Komposition von Objektmodellen ermöglicht. Damit lassen sich schlanke Produkte entwickeln, die nur die tatsächlich benötigte Funktionalität enthalten. Zur Evolution von Produktlinien und zur Einbindung existierender Lösungen und Komponenten in die Evolution werden Reverse-Engineering- und Refactoring-Techniken integriert. Anforderungen, Modelle und Implementierung werden durch Traceability-Links verbunden, damit Änderungen konsistent durchgeführt werden können. Diese Mittel tragen dazu bei, dass während einer iterativen Entwicklung der Verlust an Architektur-Qualität, das sogenannte Architectural Decay, vermieden werden kann. Maßnahmen zur Verbesserung des Projekt- und Qualitätsmanagements werden kurz betrachtet, soweit sie wichtige Randbedingungen für die Wirksamkeit der Methoden schaffen müssen. Die Anwendbarkeit und Eignung der Ergebnisse der Arbeiten wurde in mehreren industriellen Projekten überprüft.Ilmenau, Techn. Univ., Habil.-Schr., 200