Authors:
Christoph Eickhoff
;
Martin Lange
;
Simon-Lennert Raesch
and
Albert Zündorf
Affiliation:
Kassel University and Germany
Keyword(s):
Model Checking, Object Models, EMF.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Constraint Modeling and Languages
;
General-Purpose Modeling Languages and Standards
;
Languages, Tools and Architectures
;
Model Execution and Simulation
;
Model Transformation
;
Model-Based Testing and Validation
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Reasoning about Models
;
Software Engineering
Abstract:
For safety critical systems it is desirable to be able to prove system correctness. If your system is based e.g. on statecharts or finite automata you may use model checking techniques as provided e.g. by Spin. If your system uses dynamic object models you may use tools like Alloy or graph based tools like Groove, Henshin, or SDMLib. Unfortunately, most of theses approaches use proprietary languages for the specification of models and model transformations. This has the drawback that in order to verify system properties one has to recode the system and its operations within the specific language of the used verification tool. This is tedious and error prone. After a successful verification within the specific tool, you still do not know whether your actual implementation works correct. To overcome these limitations, this paper outlines our new EMFeR (EMF Engine for Reachability) tool. EMFeR provides complete testing and model checking capabilities for EMF based models. Unlike most ot
her systems, EMFeR uses directly the code of the system under test. You just hand your implementation of the employed model operations to EMFeR as lambda expressions. In addition, you provide some model queries to retrieve model elements to be operated on. Thus, you may implement your system’s model operation in plain Java, in Kotlin, in Groovy or whatever and than you may use EMFeR to model check your actual system implementation.
(More)