10 research outputs found

    Coverage Criteria for Testing DMM Specifications

    Get PDF
    Behavioral modeling languages are most useful if their behavior is specified formally such that it can e.g. be analyzed and executed automatically. Obviously, the quality of such behavior specifications is crucial. The rule-based semantics specification technique Dynamic Meta Modeling (DMM) honors this by using the approach of Test-driven Semantics Specification (TDSS), which makes sure that the specification at hand at least describes the correct behavior for a suite of test models. However, in its current state TDSS does not provide any means to measure the quality of such a test suite.In this paper, we describe how we have applied the idea of test coverage to TDSS. Similar to common approaches of defining test coverage criteria, we describe a data structure called invocation graph containing possible orders of applications of DMM rules. Then we define different coverage  criteria based on that data structure, taking the rule applications caused by the test suite’s models into account. Our implementation of the described approach gives the language engineer using DMM a means to reason about the quality of the language’s test suite, and also provides hints on how to improve that quality by adding dedicated test models to the test suite

    Test-driven Language Derivation with Graph Transformation-Based Dynamic Meta Modeling

    Get PDF
    Deriving a new language L_B from an already existing one L_A is a typical task in domain-specific language engineering. Here, besides adjusting L_A's syntax, the language engineer has to modify the semantics of L_A to derive L_B's semantics. Particularly, in case of behavioral modeling languages, this is a difficult and error-prone task, as changing the behavior of language elements or adding behavior for new elements might have undesired side effects. Therefore, we propose a test-driven language derivation process. In a first step, the language engineer creates example models containing the changed or newly added elements in different contexts. For each of these models, the language engineer also precisely describes the expected behavior. In a second step, each example model and its description of behavior is transformed into an executable test case. Finally, these test cases are used when deriving the actual semantics of L_B - at any time, the language engineer can run the tests to verify whether the changes he performed on L_A's semantics indeed produce the desired behavior. In this paper, we illustrate the approach using our graph transformation-based semantics specification technique Dynamic Meta Modeling. This is once more an example where the graph transformation approach shows its strengths and appropriateness to support software engineering tasks as, e.g., model transformations, software specifications, or tool development

    Extensibility of Enterprise Modelling Languages

    Get PDF
    Die Arbeit adressiert insgesamt drei Forschungsschwerpunkte. Der erste Schwerpunkt setzt sich mit zu entwickelnden BPMN-Erweiterungen auseinander und stellt deren methodische Implikationen im Rahmen der bestehenden Sprachstandards dar. Dies umfasst zum einen ganz konkrete Spracherweiterungen wie z. B. BPMN4CP, eine BPMN-Erweiterung zur multi-perspektivischen Modellierung von klinischen Behandlungspfaden. Zum anderen betrifft dieser Teil auch modellierungsmethodische Konsequenzen, um parallel sowohl die zugrunde liegende Sprache (d. h. das BPMN-Metamodell) als auch die Methode zur Erweiterungsentwicklung zu verbessern und somit den festgestellten Unzulänglichkeiten zu begegnen. Der zweite Schwerpunkt adressiert die Untersuchung von sprachunabhängigen Fragen der Erweiterbarkeit, welche sich entweder während der Bearbeitung des ersten Teils ergeben haben oder aus dessen Ergebnissen induktiv geschlossen wurden. Der Forschungsschwerpunkt fokussiert dabei insbesondere eine Konsolidierung bestehender Terminologien, die Beschreibung generisch anwendbarer Erweiterungsmechanismen sowie die nutzerorientierte Analyse eines potentiellen Erweiterungsbedarfs. Dieser Teil bereitet somit die Entwicklung einer generischen Erweiterungsmethode grundlegend vor. Hierzu zählt auch die fundamentale Auseinandersetzung mit Unternehmensmodellierungssprachen generell, da nur eine ganzheitliche, widerspruchsfreie und integrierte Sprachdefinition Erweiterungen überhaupt ermöglichen und gelingen lassen kann. Dies betrifft beispielsweise die Spezifikation der intendierten Semantik einer Sprache

    Solving heterogeneity for a successful service market

    Get PDF
    Diese Dissertation ist im Kontext eines neuen Paradigmas im Software Engineering mit dem Namen On-The-Fly Computing entstanden. OTF Computing basiert auf der Idee von spezialisierten On-The-Fly Märkten. OTF Märkte haben unterschiedliche Eigenschaften und die Marktakteure in diesen Märkten benutzen verschiedene Modellierungstechniken für das Service Engineering. Diese Unterschiede resultieren in Heterogenität und erschweren deshalb die Ausführung von automatisierten Marktoperationen, da Servicebeschreibungen nicht automatisch miteinander verglichen werden können. Für das beschriebene Problem bietet diese Dissertation eine Lösung um einen erfolgreichen OTF Markt zu ermöglichen. Für die Vergleichbarkeit von Servicebeschreibungen in einem OTF Markt wird eine formale Zwischenrepräsentation (Kernsprache) eingeführt. Die Marktoperationen werden auf Basis der Kernsprache definiert, die die optimale Ausführung der automatisierten Marktoperationen in einem OTF Markt unterstützt. Der erste Beitrag dieser Dissertation ist der Ansatz Language Optimizer (LOpt). LOpt nutzt als Basis eine Kernsprache, die strukturelle, verhaltensbezogene und nicht-funktionale Serviceeigenschaften beinhaltet. LOpt konfiguriert diese Sprache basierend auf formalisierten Markteigenschaften und einer Wissensbasis mit Konfigurationsexpertise, um eine optimale Kernsprache zur Servicespezifikation im jeweiligen OTF Markt zu erstellen. Der zweite Beitrag dieser Dissertation ist die Anwendung des Model Transformation By-Example Ansatzes um den Marktakteuren ohne Expertise im Sprachdesign Transformationen von ihren proprietären Sprachen in die optimale Kernsprache zu ermöglichen. Der beschriebene Ansatz generiert Transformationen auf Basis von Beispielabbildungen zwischen Servicebeschreibungen zweier Sprachen. Dabei wird die Idee genetischer Algorithmen angewendet.This PhD thesis is written in the context of a new software development paradigm called On-The-Fly Computing. It is based on the idea of specialized service markets called On-The-Fly (OTF) markets. OTF markets have different properties and their participants use different modeling techniques to perform the activity of service engineering. Such differences result in heterogeneity in OTF markets and complicate the execution of automated market operations like service matching as service specifications cannot be automatically compared with each other. This PhD thesis proposes a solution to cope with the mentioned heterogeneity to foster the success of OTF markets and the OTF Computing paradigm. In order to achieve the comparability of specifications in an OTF market, a formal intermediate representation called core language is introduced. Automated market operations are defined on a core language that optimally supports the execution of these operations in this market. The first contribution of this PhD thesis is the approach language Optimizer (LOpt), which supports the systematic design of a service specification language optimal for the execution of automated market operations in an OTF market. LOpt uses a comprehensive core language covering various structural, behavioral, and non-functional service properties. LOpt performs a configuration of this language based on formalized market properties and a knowledge base containing the configuration expertise. The second contribution of this PhD thesis is the application of the Model Transformations By-Example technique to define transformations from proprietary specification languages of market actors to the optimal core language. The approach generates transformations based on example mappings between concrete specifications in both languages given by market actors. ...by Svetlana Arifulina, M.Sc. ; Thesis Supervisors: Prof. Dr. Gregor Engels and Jun. Prof. Dr. Heiko HamannTag der Verteidigung: 08.12.2016Universität Paderborn, Univ., Dissertation, 201

    Adaptivity engineering : Modeling and quality assurance for self-adaptive software systems

    Get PDF
    Moderne Softwareentwicklung nutzt Techniken der Selbstadaptation, um Wartung von Softwaresystemen zu automatisieren und diese somit flexibler und robuster zu gestalten. Allerdings führt die Einführung solcher Techniken zu größeren und komplizierten Softwareentwürfen. Die Konsequenz sind Fehler im Entwurf. In der Literatur werden konstruktive Methoden wie MDE oder Patterns und analytische Methoden wie Testen oder Model Checking vorgeschlagen, um das Komplexitätsproblem zu verringern. Allerdings werden die Techniken der Selbstadaption von solchen Methoden bisher noch wenig unterstützt, d.h. dass es wenige integrierte Ansätze für die explizite Modellierung und Qualitätssicherung von Selbstadaptation gibt. In dieser Arbeit schlagen wir einen integrierten Modellierungs- und Qualitätssicherungsansatz für den Entwurf selbstadaptiver Softwaresysteme vor. Es werden sowohl konstruktive Methoden (z.B. Sprachen) als auch analytische Methoden (z.B. Model Checking) für die Unterstützung der Entwicklung solcher Systeme vorgeschlagen. Beide Typen von Methoden sind in Standardtechniken und Werkzeuge integriert. Im Ergebnis wird der Entwickler in der Modellierung selbstadaptiver Softwaresysteme durch den Einsatz von adaptionsspezifischen Sprachen unterstützt. Durch die dazu passenden Qualitätssicherungsverfahren erhält der Entwickler unmittelbare Rückmeldung über die Qualität seiner Modelle. Somit wird die Entwicklung selbstadaptiver Systeme bereits in frühen Phasen des Entwicklungsprozesses unterstützt, Entwurfsfehler werden vermieden und somit bessere Software gebaut.Modern software engineering introduces self-adaptivity features to perform automatic maintenance and make software systems more flexible and resilient. Unfortunately, introducing the additional self-adaptivity features makes software design bloated and complicated. As a consequence, software design models are often prone to errors. The literature proposes constructive approaches such as MDE, patterns, etc. as well as analytical approaches such as testing or model checking to solve the problem of complexity in general. However, there is no sufficient adaptivity-specific support throughout the engineering process, i.e. no approaches that support the creation of self-adaptivity specification models and their quality assurance. In this thesis, we will propose an integrated modeling and quality assurance environment for designing self-adaptive software systems. Therefore, we will propose constructive methods (e.g., languages) and analytical methods (e.g., model-checking) to support the engineering of these systems. Both types of methods are integrated into standard software engineering techniques and tools. As a result, the designer is supported in modeling self-adaptive software systems using concern-specific languages and receives immediate feedback about the quality of his models. This way, software engineering for self-adaptive systems is getting supported starting at the early design phase leading to less errors produced, and thus, to better software, overall.Tag der Verteidigung: 26.09.2013Paderborn, Univ., Diss., 201

    Automatische Kompatibilitätsprüfung Framework-basierter Anwendungen

    Get PDF
    Software-Frameworks als erweiterbare Software-Architekturbausteine bieten besondere Vorteile. Sie erlauben sowohl die Wiederverwendung der Funktionalität als auch der durch das Framework vorgegebenen Software-Architektur. Beispiele sind Frameworks für Benutzungsoberflächen oder für die Anbindung von Datenbanken. Durch Implementierung anwendungsspezifischer Erweiterungen wird ein Framework für den konkreten Anwendungsfall angepasst. Eine Anwendung, deren Software-Architektur ein Framework einsetzt, benutzt das Framework über dessen Erweiterungspunkte.Im Laufe der Evolution einer solchen Anwendung entsteht häufig die Situation, dass das Framework durch eine neuere Version aktualisiert werden soll. Die Aktualisierung enthält das Risiko, dass Inkompatibilitäten zwischen bestehender Anwendung und neuer Framework-Version auftreten, die wiederum zu aufwendigen Anpassungen führen. Daher müssen mögliche Inkompatibilitäten vor der Aktualisierung erkannt und bewertet werden. Nach aktuellem Stand der Technik ist dies nicht möglich, so dass es in der industriellen Praxis zu unvorhergesehenen Problemen verbunden mit hohen Kosten kommt.Wir stellen ein Verfahren zur automatischen Kompatibilitätsanalyse Framework-basierter Anwendungen vor, mit dem das beschriebene Problem gelöst wird. Durch eine Kombination aus Codeanalyse und neuartiger Framework-Beschreibung lassen sich mögliche Inkompatibilitäten vor Durchführung der Aktualisierung automatisch berechnen. Eine prototypische Implementierung des Verfahrens im Werkzeug »Companian« demonstriert die praktische Einsetzbarkeit unseres Verfahrens.Software frameworks as extensible building blocks have several advantages. They admit to reuse the framework's functionality and its software architecture. Examples are user interface or database connectivity frameworks. A framework is customized by implementing application specific extensions. An application uses a framework through its extension points.During the evolution of such an application the situation arises where the framework has to be updated to a newer version. An update contains the risk of incompatibilities between the existing application and the new framework version. This may result in high efforts for required adjustments. Thus, possible incompatibilities have to be recognized and evaluated before an update is performed. This is not possible in accordance with the current state-of-the-art and results in unforeseen problems accompanied by high consequential costs.We propose a process for an automatic compatibility analysis of framework-based applications that solves the problem. Combining code analysis and a novel framework description our process detects possible incompatibilities before an update is performed. A prototypical implementation in the »Companian« tool demonstrates the practical feasibility of our process.Tag der Verteidigung: 20.12.2012Paderborn, Univ., Diss., 201

    Multikonferenz Wirtschaftsinformatik (MKWI) 2016: Technische Universität Ilmenau, 09. - 11. März 2016; Band II

    Get PDF
    Übersicht der Teilkonferenzen Band II • eHealth as a Service – Innovationen für Prävention, Versorgung und Forschung • Einsatz von Unternehmenssoftware in der Lehre • Energieinformatik, Erneuerbare Energien und Neue Mobilität • Hedonische Informationssysteme • IKT-gestütztes betriebliches Umwelt- und Nachhaltigkeitsmanagement • Informationssysteme in der Finanzwirtschaft • IT- und Software-Produktmanagement in Internet-of-Things-basierten Infrastrukturen • IT-Beratung im Kontext digitaler Transformation • IT-Sicherheit für Kritische Infrastrukturen • Modellierung betrieblicher Informationssysteme – Konzeptuelle Modelle im Zeitalter der digitalisierten Wirtschaft (d!conomy) • Prescriptive Analytics in I
    corecore