Communicating sequential processes
Communicating sequential processes
Statecharts: A visual formalism for complex systems
Science of Computer Programming
STATEMATE: A Working Environment for the Development of Complex Reactive Systems
IEEE Transactions on Software Engineering
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Action semantics
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Real-time object-oriented modeling
Real-time object-oriented modeling
Operational semantics-directed compilers and machine architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Requirements Specification for Process-Control Systems
IEEE Transactions on Software Engineering
An algebraic approach to language translation
An algebraic approach to language translation
Supporting evolution and maintenance by using a flexible automatic code generator
Proceedings of the 17th international conference on Software engineering
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
The STATEMATE semantics of statecharts
ACM Transactions on Software Engineering and Methodology (TOSEM)
ICSE '97 Proceedings of the 19th international conference on Software engineering
Semantics-directed code generation
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Symbolic Model Checking
Communication and Concurrency
Semantics-Directed Compiler Generation: Proceedings
Semantics-Directed Compiler Generation: Proceedings
Program Generators with XML and Java with CD-ROM
Program Generators with XML and Java with CD-ROM
Specification, verification, and synthesis of concurrency control components
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
A semantics-directed compiler generator
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
IEEE Transactions on Software Engineering
Symbolic Functional Evaluation
TPHOLs '99 Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics
A Comparison of Statecharts Variants
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
On efficient program synthesis from statecharts
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Generating Code from Hierarchical State-Based Requirements
RE '97 Proceedings of the 3rd IEEE International Symposium on Requirements Engineering
Understanding and Comparing Model-Based Specification Notations
RE '03 Proceedings of the 11th IEEE International Conference on Requirements Engineering
A unified approach to code generation from behavioral diagrams
Languages for system specification
Mapping Template Semantics to SMV
Proceedings of the 19th IEEE international conference on Automated software engineering
Formal interpreters for diagram notations
ACM Transactions on Software Engineering and Methodology (TOSEM)
A model transformation framework for the automated building of performance models from UML models
Proceedings of the 5th international workshop on Software and performance
Clearwater: extensible, flexible, modular code generation
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Coverage and adequacy in software product line testing
Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis
Domain-Specific Modeling
FSMC+, a tool for the generation of Java code from statecharts
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Semantically Configurable Code Generation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Template Semantics for Model-Based Notations
IEEE Transactions on Software Engineering
Flexible and extensible notations for modeling languages
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Deconstructing the semantics of big-step modelling languages
Requirements Engineering - RE'09 Special Issue; Guest Editor:Kevin T Ryan
Semantic variations among UML statemachines
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Weaving executability into object-oriented meta-languages
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
Hi-index | 0.00 |
We are investigating semantically configurable model-driven engineering (MDE). The goal of this work is a modelling environment that supports flexible, configurable modelling notations, in which specifiers can configure the semantics of notations to suit their needs and yet still have access to the types of analysis tools and code generators normally associated with MDE. In this paper, we describe semantically configurable code generation for a family of behavioural modelling notations. The family includes variants of statecharts, process algebras, Petri Nets, and SDL88. The semantics of this family is defined using template semantics, which is a parameterized structured operational semantics in which parameters represent semantic variation points. A specific notation is derived by instantiating the family's template semantics with parameter values that specify semantic choices. We have developed a code-generator generator (CGG) that creates a suitable Java code generator for a subset of derivable modelling notations. Our prototype CGG supports 26 semantics parameters, 89 parameter values, and 7 composition operators. As a result, we are able to produce code generators for a sizable family of modelling notations, though at present the performance of our generated code is about an order of magnitude slower than that produced by commercial-grade generators.