11 research outputs found

    Family-oriented requirements engineering

    Get PDF
    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

    No full text
    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

    No full text
    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

    No full text
    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

    Full text link
    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

    Get PDF
    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)

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore