652 research outputs found
Incremental Consistency Checking in Delta-oriented UML-Models for Automation Systems
Automation systems exist in many variants and may evolve over time in order
to deal with different environment contexts or to fulfill changing customer
requirements. This induces an increased complexity during design-time as well
as tedious maintenance efforts. We already proposed a multi-perspective
modeling approach to improve the development of such systems. It operates on
different levels of abstraction by using well-known UML-models with activity,
composite structure and state chart models. Each perspective was enriched with
delta modeling to manage variability and evolution. As an extension, we now
focus on the development of an efficient consistency checking method at several
levels to ensure valid variants of the automation system. Consistency checking
must be provided for each perspective in isolation, in-between the perspectives
as well as after the application of a delta.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857
Model driven product line engineering : core asset and process implications
Reuse is at the heart of major improvements in productivity and quality in Software Engineering. Both Model Driven Engineering (MDE) and Software Product Line Engineering (SPLE) are software development paradigms that promote reuse. Specifically, they promote systematic reuse and a departure from craftsmanship towards an industrialization of the software development process. MDE and SPLE have established their benefits separately. Their combination, here called Model Driven Product Line Engineering (MDPLE), gathers together the advantages of both.
Nevertheless, this blending requires MDE to be recasted in SPLE terms. This has implications on both the core assets and the software development process. The challenges are twofold: (i) models become central core assets from which products are obtained and (ii) the software development process needs to cater for the changes that SPLE and MDE introduce. This dissertation proposes a solution to the first challenge following a feature oriented approach, with an emphasis on reuse and early detection of inconsistencies. The second part is dedicated to assembly processes, a clear example of the complexity MDPLE introduces in software development processes. This work advocates for a new discipline inside the general software development process, i.e., the Assembly Plan Management, which raises the abstraction level and increases reuse in such processes. Different case studies illustrate the presented ideas.This work was hosted by the University of the Basque Country (Faculty
of Computer Sciences). The author enjoyed a doctoral grant from the
Basque Goverment under the “Researchers Training Program” during the
years 2005 to 2009. The work was was co-supported by the Spanish Ministry
of Education, and the European Social Fund under contracts WAPO
(TIN2005-05610) and MODELINE (TIN2008-06507-C02-01)
A feature-based classification of model repair approaches
Consistency management, the ability to detect, diagnose and handle inconsistencies, is crucial during the development process in Model-driven Engineering (MDE). As the popularity and application scenarios of MDE expanded, a variety of different techniques were proposed to address these tasks in specific contexts. Of the various stages of consistency management, this work focuses on inconsistency handling in MDE, particularly in model repair techniques. This paper proposes a feature-based classification system for model repair techniques, based on an systematic literature review of the area. We expect this work to assist developers and researchers from different disciplines in comparing their work under a unifying framework, and aid MDE practitioners in selecting suitable model repair approaches.Work financed by the North Portugal Regional Operational Programme (NORTE 2020), under the PORTUGAL 2020 Partnership Agreement, and through the European Regional Development Fund (ERDF) through project "NORTE-01-0145-FEDER-000016"
Interdisziplinäre Variabilitätsmodellierung und Performance Analyse für langlebige Systeme in der Automatisierungstechnik
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
Evaluating Model Differencing for the Consistency Preservation of State-based Views
While developers and users of modern software systems usually only need to interact with a specific part of the system at a time, they are hindered by the ever-increasing complexity of the entire system. Views are projections of underlying models and can be employed to abstract from that complexity. When a view is modified, the changes must be propagated back into the underlying model without overriding simultaneous modifications. Hence, the view needs to provide a fine-grained sequence of changes to update the model minimally invasively. Such fine-grained changes are often unavailable for views that integrate with existing workflows and tools. To this end, model differencing approaches can be leveraged to compare two states of a view and derive an estimated change sequence. However, these model differencing approaches are not intended to operate with views, as their correctness is judged solely by comparing the input models. For views, the changes are derived from the view states, but the correctness depends on the underlying model. This work introduces a refined notion of correctness for change sequences in the context of model-view consistency. Furthermore, we evaluate state-of-the-art model differencing regarding model-view consistency. Our results show that model differencing largely performs very well. However, incorrect change sequences were derived for two common refactoring operation types, leading to an incorrect model state. These types can be easily reproduced and are likely to occur in practice. By considering our change sequence properties in the view type design, incorrect change sequences can be detected and semi-automatically repaired to prevent such incorrect model states
Engineering bidirectional transformations
Bidirectional transformations, like software, need to be carefully engineered in order to provide guarantees about their correctness, completeness, acceptability and usability. This paper summarises a collection of lectures pertaining to engineering bidirectional transformations using Model-Driven Engineering techniques and technologies. It focuses on stages of a typical engineering lifecycle, starting with requirements and progressing to implementation and verification. It summarises Model-Driven Engineering approaches to capturing requirements, architectures and designs for bidirectional transformations, and suggests an approach for verification as well. It concludes by describing some challenges for future research into engineering bidirectional transformations
Consistent View-Based Management of Variability in Space and Time
Systeme entwickeln sich schnell weiter und existieren in verschiedenen Variationen, um unterschiedliche und sich ändernde Anforderungen erfüllen zu können. Das führt zu aufeinanderfolgenden Revisionen (Variabilität in Zeit) und zeitgleich existierenden Produktvarianten (Variabilität in Raum). Redundanzen und Abhängigkeiten zwischen unterschiedlichen Produkten über mehrere Revisionen hinweg sowie heterogene Typen von Artefakten führen schnell zu Inkonsistenzen während der Evolution eines variablen Systems. Die Bewältigung der Komplexität sowie eine einheitliche und konsistente Verwaltung beider Variabilitätsdimensionen sind wesentliche Herausforderungen, um große und langlebige Systeme erfolgreich entwickeln zu können. Variabilität in Raum wird primär in der Softwareproduktlinienentwicklung betrachtet, während Variabilität in Zeit im Softwarekonfigurationsmanagement untersucht wird. Konsistenzerhaltung zwischen heterogenen Artefakttypen und sichtbasierte Softwareentwicklung sind zentrale Forschungsthemen in modellgetriebener Softwareentwicklung. Die Isolation der drei angrenzenden Disziplinen hat zu einer Vielzahl von Ansätzen und Werkzeugen aus den unterschiedlichen Bereichen geführt, was die Definition eines gemeinsamen Verständnisses erschwert und die Gefahr redundanter Forschung und Entwicklung birgt. Werkzeuge aus den verschiedenen Disziplinen sind oftmals nicht ausreichend integriert und führen zu einer heterogenen Werkzeuglandschaft sowie hohem manuellen Aufwand während der Evolution eines variablen Systems, was wiederum der Systemqualität schadet und zu höheren Wartungskosten führt.
Basierend auf dem aktuellen Stand der Forschung in den genannten Disziplinen werden in dieser Dissertation drei Kernbeiträge vorgestellt, um den Umgang mit der Komplexität während der Evolution variabler Systeme zu unterstützten.
Das unifizierte konzeptionelle Modell dokumentiert und unifiziert Konzepte und Relationen für den gleichzeitigen Umgang mit Variabilität in Raum und Zeit basierend auf einer Vielzahl ausgewählter Ansätze und Werkzeuge aus der Softwareproduktlinienentwicklung und dem Softwarekonfigurationsmanagement. Über die bloße Kombination vorhandener Konzepte hinaus beschreibt das unifizierte konzeptionelle Modell neue Möglichkeiten, beide Variabilitätsdimensionen zueinander in Beziehung zu setzen.
Die unifizierten Operationen verwenden das unifizierte konzeptionelle Modell als Datenstruktur und stellen die Basis für operative Verwaltung von Variabilität in Raum und Zeit dar. Die unifizierten Operationen werden basierend auf einer Analyse diverser Ansätze konzipiert, welche verschiedene Modalitäten und Paradigmen verfolgen. Während die unifizierten Operationen die Funktionalität von analysierten Werkzeugen abdecken, ermöglichen sie den gleichzeitigen Umgang mit beiden Variabilitätsdimensionen.
Der unifizierte Ansatz basiert auf den vorhergehenden Beiträgen und erweitert diese um Konsistenzerhaltung. Zu diesem Zweck wurden Typen von variabilitätsspezifischen Inkonsistenzen identifiziert, die während der Evolution variabler heterogener Systeme auftreten können. Der unifizierte Ansatz ermöglicht automatisierte Konsistenzerhaltung für eine ausgewählte Teilmenge der identifizierten Inkonsistenztypen.
Jeder Kernbeitrag wurde empirisch evaluiert. Zur Evaluierung des unifizierten konzeptionellen Modells und der unifizierten Operationen wurden Expertenbefragungen durchgeführt, Metriken zur Bewertung der Angemessenheit einer Unifizierung definiert und angewendet, sowie beispielhafte Anwendungen demonstriert. Die funktionale Eignung des unifizierten Ansatzes wurde mittels zweier Realweltfallstudien evaluiert: Die häufig verwendete ArgoUML-SPL, die auf ArgoUML basiert, einem UML-Modellierungswerkzeug, sowie MobileMedia, eine mobile Applikation für Medienverwaltung. Der unifizierte Ansatz ist mit dem Eclipse Modeling Framework (EMF) und dem Vitruvius Ansatz implementiert.
Die Kernbeiträge dieser Arbeit erweitern das vorhandene Wissen hinsichtlich der uniformen Verwaltung von Variabilität in Raum und Zeit und verbinden diese mit automatisierter Konsistenzerhaltung für variable Systeme bestehend aus heterogenen Artefakttypen
Consistent View-Based Management of Variability in Space and Time
Developing variable systems faces many challenges. Dependencies between interrelated artifacts within a product variant, such as code or diagrams, across product variants and across their revisions quickly lead to inconsistencies during evolution. This work provides a unification of common concepts and operations for variability management, identifies variability-related inconsistencies and presents an approach for view-based consistency preservation of variable systems
Consistent View-Based Management of Variability in Space and Time
Developing variable systems faces many challenges. Dependencies between interrelated artifacts within a product variant, such as code or diagrams, across product variants and across their revisions quickly lead to inconsistencies during evolution. This work provides a unification of common concepts and operations for variability management, identifies variability-related inconsistencies and presents an approach for view-based consistency preservation of variable systems
- …