Behavioral Typing to Support Offline and Online Analysis for Executable DSLs - Dissertation Leroy Dorian
Sprache des Titels:
Dealing with complexity is an important challenge in software and systems engineering, that requires expertise in various heterogeneous domains. Model-Driven Engineering is a development paradigm to cope with this complexity through the conception and use of Domain Specific Languages (DSLs). A DSL captures all the concepts required to solve a set of problems belonging to a particular domain. A particular category of DSLs, Executable DSLs (xDSLs) enable, through a provided execution semantics, the definition of dynamic models, which in turn enables early dynamic verification and validation activities on these models. All xDSLs share a common need for an ecosystem of tools to create, manipulate, and analyze models. But xDSLs come in many shapes and forms, as each is tailored to a particular domain, both syntactically and semantically. Thus, for each new xDSL, tools must be developed anew, or existing tools adapted. In this thesis, we provide solutions to this problem for a set of generic tools dedicated to offline and online analysis for xDSLs. This comes under the form of three distinct contributions. First, we provide a new metaprogramming approach to extend the definition of xDSLs to incorporate a clear definition of the possible interactions between conforming models and their environment. Second, we leverage the extended foundations for the definition of xDSLs offered by our metaprogramming approach to provide generic support for offline and online analysis for a broader scope of xDSLs, under the form of trace comprehension operators and runtime monitoring, respectively.