3 research outputs found

    Using FMC for family-based analysis of software product lines

    Full text link
    We show how the FMC model checker can successfully be used to model and analyze behavioural variability in Soft-ware Product Lines. FMC accepts parameterized specifi-cations in a process-algebraic input language and allows the verification of properties of such models by means of efficient on-the-fly model checking. The properties can be expressed in a logic that allows to correlate the parameters of different actions within the same formula. We show how this feature can be used to tailor formulas to the verification of only a specific subset of products of a Software Product Line, thus allowing for scalable family-based analyses with FMC. We present a proof-of-concept that shows the application of FMC to an illustrative Featured Transition System from the literature. CCS Concepts •General and reference → Verification; •Theory of computation→Verification by model checking; Modal and temporal logics; Process calculi; Operational semantics; •Software and its engineering → Model checking; Software product lines; Model-driven software engineer-ing

    Family-Based Model Checking with mCRL2

    Full text link
    \u3cp\u3eFamily-based model checking targets the simultaneous verfication of multiple system variants, a technique to handle feature-based variability that is intrinsic to software product lines (SPLs). We present an approach for family-based verification based on the feature ÎĽ-calculus ÎĽL\u3csub\u3ef\u3c/sub\u3e, which combines modalities with feature expressions. This logic is interpreted over featured transition systems, a well-accepted model of SPLs, which allows one to reason over the collective behavior of a number of variants (a family of products). Via an embedding into the modal ÎĽ-calculus with data, underpinned by the general-purpose mCRL2 toolset, off-the-shelf tool support for ÎĽLf becomes readily available. We illustrate the feasibility of our approach on an SPL benchmark model and show the runtime improvement that family-based model checking with mCRL2 offers with respect to model checking the benchmark product-by-product.\u3c/p\u3

    Interdisziplinäre Variabilitätsmodellierung und Performance Analyse für langlebige Systeme in der Automatisierungstechnik

    Get PDF
    In this day and age, automation systems have to deal with differing customer needs, environmental requirements and multiple application contexts. Automation systems have to be variable enough to satisfy all of these demands. The development and maintenance of such highly-customizable systems is a challenging task and becomes increasingly more difficult considering multiple involved engineering disciplines and long lifetimes, which is characteristic for industrial systems of the automation domain. Software product line engineering provides developers with fundamental concepts to manage the variability of such systems. However, these concepts are not established in the domain of automation systems. In addition, the involvement of multiple engineering disciplines poses a threat to existing SPL techniques. This thesis contributes novel approaches to improve the development and maintenance of software-intensive automation product lines. In total, three major contributions are made, spanning across the complete design phase of an automation system. (1) The feature modeling process is improved by detecting hidden dependencies between interrelated feature models from separate engineering disciplines. Furthermore, hidden dependencies and occurring defects in the feature models are explained in a user-friendly manner. (2) A model-driven development approach is introduced consisting of UML models, which are extended with delta modeling to manage variability in the automation product line. The models encompass information that is needed to automatically derive and analyze a performance model. (3) Subsequently, an efficient family-product-based performance analysis is proposed for the previously derived UML models that is vastly superior compared to common product-based approaches. All of these techniques have been evaluated using multiple case studies, with one being a real-world automation system.In der heutigen Zeit sehen sich Automatisierungssysteme mit einer steigenden Komplexität konfrontiert. Einzelne Kunden haben unterschiedliche Ansprüche an das System und ebenso müssen Umweltbedingungen der verschiedenen Betriebsumgebungen sowie abweichende Anwendungsgebiete bei der Entwicklung eines Automatisierungssystems berücksichtigt werden. Diese Komplexitätsaspekte werden unter dem Stichwort Variabilität zusammengefasst. Ein Automatisierungssystem muss in der Lage sein, sämtliche Anforderungen zu erfüllen. Die Entwicklung und Wartung dieser Systeme wird jedoch durch die stetig wachsende Variabilität und eine potentiell lange Lebensdauer immer schwieriger. Zusätzlich sind an dem Entwicklungsprozess eines Automatisierungssystems mehrere Ingenieursdisziplinen beteiligt. Die Techniken aus dem Bereich der Software-Produktlinienentwicklung bilden Lösungen, um die Variabilität beherrschbar zu machen. In der Automatisierungstechnik sind diese Techniken weitgehend unbekannt und durch den interdisziplinären Charakter oft nicht ausreichend. Daher werden in dieser Dissertation neue Ansätze entwickelt und vorgestellt, die auf die Domäne der Automatisierungstechnik zugeschnitten sind. Insgesamt leistet diese Dissertation folgende drei wissenschaftlichen Beiträge: (1) Die Entwicklung von Feature-Modellen wird durch die Detektion von verborgenen Abhängigkeiten, die zwischen Feature-Modellen der unterschiedlichen Ingenieursdisziplinen existieren, verbessert. Gleichzeitig liefert der vorgestellte Algorithmus die Erklärung für die Existenz dieser Abhängigkeiten. Dieses Konzept wird auf weitere Defekte in Feature-Modellen ausgeweitet. (2) Einen modell-basierten Ansatz zur Entwicklung eines Automatisierungssystems. Der Ansatz basiert auf Modellen aus der UML, die mit Hilfe der Delta Modellierung Variabilität abbilden können. Zusätzlich sind die Modelle mit Informationen über Performance Eigenschaften angereichert und erlauben die automatische Ableitung eines Performance-Modells. (3) Eine effiziente Performance Analyse von allen Varianten des Automatisierungssystems, die auf den zuvor abgeleiteten Performance-Modellen basiert. Alle Beiträge wurden mit Fallstudien evaluiert. Eine Fallstudie repräsentiert ein reales Automatisierungssystem
    corecore