5 research outputs found

    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

    Quality assurance with dynamic meta modeling

    Get PDF
    Dynamic Meta Modeling (DMM) ist eine Semantikbeschreibungstechnik, die sich auf MOF-basierte Sprachen fokussiert und deren Verhalten durch graphische, operationale Regeln beschreibt. Der DMM-Ansatz wurde im Jahr 2000 von Engels et al. erstmals beschrieben und von Hausmann in 2006 in seiner Dissertation ausgearbeitet. Der nächste Schritt war nun, an verschiedenen Modellierungssprachen zu erproben, um die gemachten Erfahrungen in die Verbesserung von DMM und seinen Werkzeugen einfließen zu lassen. Das Ergebnis ist die DMM++-Methode, die in dieser Arbeit vorgestellt wird. Wir haben vorwiegend an drei Stellen Verbesserungen vorgenommen: Erstens haben wir basierend auf unseren Erfahrungen mit DMM neue Sprachkonzepte wie die Verfeinerung von Regeln entwickelt, und wir haben bestehende Konzepte wie die Behandlung von universell quantifizierten Strukturen oder Attributen verbessert. Zweitens haben wir einen testgetriebenen Semantikspezifizierungsprozess entwickelt: Zunächst wird eine Menge von Beispielmodellen erzeugt und deren erwartetes Verhalten formalisiert. Die DMM-Regeln werden dann inkrementell entwickelt, wobei geprüft wird, ob die Beispielmodelle tatsächlich das erwartete Verhalten erzeugen. Zudem haben wir Abdeckungskriterien für Tests von DMM-Spezifikationen entwickelt, die die Beurteilung der Qualität der Tests erlauben. Drittens haben wir gezeigt, wie funktionale und nichtfunktionale Anforderungen an Modelle und ihre DMM-Spezifikation formuliert und geprüft werden können. Für ersteres haben wir eine graphische Sprache zur Formulierung temporallogischer Eigenschaften zur Verfügung gestellt, die dann mit Model Checking geprüft werden. Für zweiteres ermöglichen wir dem Modellierer das Hinzufügen von Performanceinformationen zu den Modellen, aufgrund dessen dann z.B. der average throughput eines Modells berechnet werden kann.Dynamic Meta Modeling (DMM) is a semantics specification technique targeted at MOF-based modeling languages, where a language's behavior is defined by means of graphical operational rules which change runtime models. The DMM approach has first been suggested by Engels et al. in 2000; Hausmann has then defined the DMM language on a conceptual level within his PhD thesis in 2006. Consequently, the next step was to bring the existing DMM concepts alive, and then to apply them to different modeling languages, making use of the lessons learned to improve the DMM concepts as well as the DMM tooling. The result of this process is the DMM++ method, which is presented within this thesis. Our contributions are three-fold: First, and according to our experiences with the DMM language, we have introduced new concepts such as refinement by means of rule overriding, and we have strengthened existing concepts such as the dealing with universal quantified structures or attributes. Second, we have developed a test-driven process for semantics specification: A set of test models is created, and their expected behavior is fixed. Then, the DMM rules are created incrementally, finally resulting in a DMM ruleset realizing at least the expected behavior of the test models. Additionally, we have defined a set of coverage criteria for DMM rulesets which allow to measure the quality of a set of test models. Third, we have shown how functional as well as non-functional requirements can be formulated against models and their DMM specifications. The former is achieved by providing a visual language for formulating temporal logic properties, which are then verified with model checking techniques, and by allowing for visual debugging of models failing a requirement. For the latter, the modeler can add performance information to models and analyze their performance properties, e.g. average throughput.Tag der Verteidigung: 04.07.2013Paderborn, Univ., Diss., 201

    Uma linguagem para formalização de discursos com base em ontologias

    Get PDF
    Tese (doutorado)—Universidade de Brasília, Faculdade de Ciência da Informação, Programa de Pós-Graduação em Ciência da Informação, 2015.Esta pesquisa propõe a arquitetura da informação de uma linguagem formal textual para representar discursos sobre entidades ontológicas e obter deduções a respeito de ontologias de domínio. Por meio do paradigma de metamodelagem, a linguagem permite tratamento de ontologias heterogêneas que podem ser descritas como instâncias de uma ou mais ontologias de fundamentação. A linguagem suporta comportamentos clássicos e modais sustentados por noções de prova baseadas no paradigma de Programação em Lógica (Modal). O arcabouço modal desenvolvido possibilita que diferentes interpretações modais sejam introduzidas às especificações das ontologias, e contempla especialmente sistemas baseados em lógicas de múltiplos agentes. Uma sistematização do fragmento endurante da Unified Foundational Ontology (UFO) é realizada com objetivo de compor parte do marco teórico que fundamenta a proposta e de servir de exemplo de instanciação do arcabouço desenvolvido. Como resultados complementares, destacam-se: uma sistematização de um conjunto ampliado de regras para produção de modelos conceituais e um glossário detalhado de termos e conceitos da UFO-A; protótipos funcionais que implementam os sistemas elaborados; traduções das teorias descritas no arcabouço proposto para linguagens visuais, como extensões da representação gráfica da OntoUML; e discussões a respeito da integração de Arquitetura da Informação, Modelagem Conceitual e Programação em Lógica (Modal) no contexto social aplicado.This research proposes the information architecture of a textual formal language to represent and reason about ontological entities based on foundational ontologies. Through metamodeling, the language is able to deal with heterogeneous ontologies that can be described as instances of one or more foundational ontology. The language provides classic and modal inference mechanisms supported by proof notions based on the (Modal) Logic Programming paradigm. The modalities introduced by the modal framework allow a wide range of interpretations, including multi-agent systems. A systematization of the endurant fragment of the Unified Foundational Ontology (UFO) is produced in order to compose part of the theoretical framework underlying the proposal, and to serve as an example instantiating the developed framework. As complementary results we highlight: a systematization of an extended set of rules for conceptual modeling and a detailed glossary of terms and concepts of UFO-A; functional prototypes implementing the developed systems; translations of the theories described as instances of the framework to diagramatic representations, as extensions of the OntoUML visual language; and discussions regarding the integration of Information Architecture, Conceptual Modeling and Logic Programming within Applied Social Science
    corecore