42 research outputs found

    Towards Scalable Multidimensional Execution Traces for xDSMLs

    Get PDF
    International audienceExecutable Domain Specific Modeling Languages (xDSML) opens many possibilities in terms of early verification and validation (V&V) of systems, including the use of dynamic V&V approaches. Such approaches rely on the notion of execution trace, i.e. the evolution of a system during a run. To benefit from dynamic V&V approaches, it is therefore necessary to characterize what is the structure of the executions traces of a given xDSML. Our goal is to provide an approach to design trace metamodels for xDSMLs. We identify seven problems that must be considered when modeling execution traces, including concurrency, modularity, and scalability. Then we present our envisioned approach to design scalable multidimensional trace metamodels for xDSMLs. Our work in progress relies on the dimensions of a trace (i.e. subsets of mu- table elements of the traced model) to provide an original structure that faces the identified problems, along with a trace API to manipulate them

    A Generative Approach to Define Rich Domain-Specific Trace Metamodels

    Get PDF
    International audienceExecutable Domain-Specific Modeling Languages (xDSMLs) open many possibilities for performing early verification and validation (V&V) of systems. Dynamic V&V approaches rely on execution traces, which represent the evolution of models during their execution. In order to construct traces, generic trace metamodels can be used. Yet, regarding trace manipulations, they lack both efficiency because of their sequential structure, and usability because of their gap to the xDSML. Our contribution is a generative approach that defines a rich and domain-specific trace metamodel enabling the construction of execution traces for models conforming to a given xDSML. Efficiency is increased by providing a variety of navigation paths within traces, while usability is improved by narrowing the concepts of the trace metamodel to fit the considered xDSML. We evaluated our approach by generating a trace metamodel for fUML and using it for semantic differencing, which is an important V&V activity in the realm of model evolution. Results show a significant performance improvement and simplification of the semantic differencing rules as compared to the usage of a generic trace metamodel

    A Generic Framework for Representing and Analysing Model Concurrency

    Get PDF
    International audienceRecent results in language engineering simplify the development of tool-supported executable domain-specific modelling languages (xDSMLs), including editing (e.g., completion and error checking) and execution analysis tools (e.g., debugging, monitoring and live modelling). However, such frameworks are currently limited to sequential execution traces, and cannot handle execution traces resulting from an execution semantics with a concurrency model supporting parallelism or interleaving. This prevents the development of concurrency analysis tools, like debuggers supporting the exploration of model executions resulting from different interleavings. In this paper, we present a generic framework to integrate execution semantics with either implicit or explicit concurrency models, to explore the possible execution traces of conforming models, and to define strategies for helping in the exploration of the possible executions. This framework is complemented with a protocol to interact with the resulting executions and hence to build advanced concurrency analysis tools. The approach has been implemented within the GEMOC Studio. We demonstrate how to integrate two representative concurrent meta-programming approaches (MoCCML/Java and Henshin), which use different paradigms and underlying foundations to define an xDSML's concurrency model. We also demonstrate the ability to define an advanced concurrent omniscient debugger with the proposed protocol. The paper, thus, contributes key abstractions and an associated protocol for integrating concurrent meta-pro\-gram\-ming approaches in a language workbench, and dynamically exploring the possible executions of a model in the modelling workbench

    Gestion de traces d'exécution pour permettre la vérification et la validation pour des langages de modélisation dédiés exécutables

    Get PDF
    Dynamic verification and validation (V&V) techniques are required to ensure the correctness of executable models. Most of these techniques rely on the concept of execution trace, which is a sequence containing information about an execution. Therefore, to enable dynamic V&V of executable models conforming to any executable domain-specific modeling language (xDSML), it is crucial to provide efficient facilities to construct and manipulate all kinds of execution traces. To that effect, we first propose a scalable model cloning approach to conveniently construct generic execution traces using model clones. Using a random metamodel generator, we show that this approach is scalable in memory with little manipulation overhead. We then present a generative approach to define multidimensional and domain-specific execution trace metamodels, which consists in creating the execution trace data structure specific to an xDSML. Thereby, execution traces of models conforming to this xDSML can be efficiently captured and manipulated in a domain-specific way. We apply this approach to two existing dynamic V&V techniques, namely semantic differencing and omniscient debugging. We show that such a generated execution trace metamodel provides good usability and scalability for dynamic early V&V support for any xDSML. Our work have been implemented and integrated within the GEMOC Studio, which is a language and modeling workbench resulting from the eponym international initiative.Les techniques dynamiques de vĂ©rification et validation (V&V) de modĂšles sont nĂ©cessaires pour assurer la qualitĂ© des modĂšles exĂ©cutables. La plupart de ces techniques reposent sur la concept de trace d'exĂ©cution, une sĂ©quence contenant un ensemble d'informations sur une exĂ©cution. Par consĂ©quent, pour permettre la V&V dynamique de modĂšles exĂ©cutables conformes Ă  n'importe quel langage de modĂ©lisation dĂ©diĂ© exĂ©cutable (LMDx), il est crucial de fournir des outils pour construire et manipuler toutes sortes de traces d'exĂ©cution. À cet effet, nous proposons d'abord une approche de clonage efficace de modĂšles afin de pouvoir construire des traces d'exĂ©cution gĂ©nĂ©riques Ă  base de clones. À l'aide d'un gĂ©nĂ©rateur alĂ©atoire de mĂ©tamodĂšles, nous montrons que cette approche passe Ă  l'Ă©chelle avec seulement un lĂ©ger surcoĂ»t lors de la manipulation de clones. Nous prĂ©sentons ensuite une approche gĂ©nĂ©rative pour dĂ©finir des mĂ©tamodĂšles dĂ©diĂ©s et multidimensionnels pour reprĂ©senter des traces d'exĂ©cution, qui consiste Ă  crĂ©er la structure de donnĂ©es spĂ©cifique aux traces d'exĂ©cution d'un LMDx donnĂ©. Ainsi, les traces d'exĂ©cution de modĂšles conformes Ă  ce LMDx peuvent ĂȘtre capturĂ©es et manipulĂ©es efficacement de maniĂšre dĂ©diĂ©e et Ă  l'aide de diffĂ©rentes dimensions. Nous appliquons cette approche Ă  deux techniques de V&V dynamiques existantes, Ă  savoir la diffĂ©rentiation sĂ©mantique et le dĂ©bogage omniscient. Nous montrons qu'un tel mĂ©tamodĂšle de traces d'exĂ©cution gĂ©nĂ©rĂ© fournit une bonne facilitĂ© d'usage et un bon passage Ă  l'Ă©chelle pour la V&V dynamique au plus tĂŽt pour n'importe quel LMDx. Nous avons intĂ©grĂ© notre travail au sein du GEMOC Studio, un environnement de dĂ©finition de langages et de modĂ©lisation issu de l'initiative internationale du mĂȘme nom

    Combining Verification and Validation techniques

    Get PDF
    International audienceAs systems are more and more complex and heterogeneous, Domain Specific Languages (DSLs) can be used to model their many concerns at a high abstraction level. Early Validation and Verification (V&V) of such models is an important and difficult task. There are numerous possible V&V techniques, none being completely satisfying regarding specific requirements (behavioral coverage, scalability, required expertise, etc.) or depending on the context. The objective of my PhD work is to find ways to make an efficient coordinated use of different complementary V&V techniques. In particular, I focus on the need to handle gathered evidence with corresponding property-behavior coverage, and on the semantic gap between domain languages and V&V languages. The proposed approach include the designing of a language to encode V&V evidence, and on the use of model types to both capitalize V&V manipulations and fill the gap between DSLs and V&V languages

    Domain-Level Observation and Control for Compiled Executable DSLs

    No full text
    International audienceExecutable Domain-Specific Languages (DSLs) are commonly defined with either operational semantics (i.e., interpretation) or translational semantics (i.e., compilation). An interpreted DSL relies on domain concepts to specify the possible execution states and steps, which enables the observation and control of executions using the very same domain concepts. In contrast, a compiled DSL relies on a transformation to an arbitrarily different target language. This creates a conceptual gap, where the execution can only be observed and controlled through target domain concepts, to the detriment of experts or tools that only understand the source domain. To address this problem, we propose a language engineering architecture for compiled DSLs that enables the observation and control of executions using source domain concepts. The architecture requires the definition of the source domain execution steps and states, along with a feedback manager that translates steps and states of the target domain back to the source domain. We evaluate the architecture with two different compiled DSLs, and show that it does enable domain-level observation and control while increasing execution time by 2× in the worst observed case

    Domain-Level Observation and Control for Compiled Executable DSLs

    No full text
    International audienceExecutable Domain-Specific Languages (DSLs) are commonly defined with either operational semantics (i.e., interpretation) or translational semantics (i.e., compilation). An interpreted DSL relies on domain concepts to specify the possible execution states and steps, which enables the observation and control of executions using the very same domain concepts. In contrast, a compiled DSL relies on a transformation to an arbitrarily different target language. This creates a conceptual gap, where the execution can only be observed and controlled through target domain concepts, to the detriment of experts or tools that only understand the source domain. To address this problem, we propose a language engineering architecture for compiled DSLs that enables the observation and control of executions using source domain concepts. The architecture requires the definition of the source domain execution steps and states, along with a feedback manager that translates steps and states of the target domain back to the source domain. We evaluate the architecture with two different compiled DSLs, and show that it does enable domain-level observation and control while increasing execution time by 2× in the worst observed case

    Advanced and efficient execution trace management for executable domain-specific modeling languages

    Get PDF
    International audienceExecutable Domain-Specific Modeling Languages (xDSMLs) enable the application of early dynamic verification and validation (V&V) techniques for behavioral models. At the core of such techniques, execution traces are used to represent the evolution of models during their execution. In order to construct execution traces for any xDSML, generic trace metamodels can be used. Yet, regarding trace manipulations, generic trace metamodels lack efficiency in time because of their sequential structure, efficiency in memory because they capture superfluous data, and usability because of their conceptual gap with the considered xDSML. Our contribution is a novel generative approach that defines a multidimensional and domain-specific trace metamodel enabling the construction and manipulation of execution traces for models conforming to a given xDSML. Efficiency in time is improved by providing a variety of navigation paths within traces, while usability and memory are improved by narrowing the scope of trace metamodels to fit the considered xDSML. We evaluated our approach by generating a trace metamodel for fUML and using it for semantic differencing, which is an important V&V technique in the realm of model evolution. Results show a significant performance improvement and simplification of the semantic differencing rules as compared to the usage of a generic trace metamodel
    corecore