120 likes | 243 Views
An Exercise in Iterative Domain-Specific Language Design. Marcel van Amstel Mark van den Brand Luc Engelen. Outline. Context Domain-Specific Language Platforms Model Transformations Language Evolution Conclusions Future Work. Context. Context. Concurrent objects Controllers
E N D
An Exercise in Iterative Domain-Specific Language Design Marcel van Amstel Mark van den Brand Luc Engelen
Outline Context Domain-Specific Language Platforms Model Transformations Language Evolution Conclusions Future Work
Context • Concurrent objects • Controllers • Hardware • Conveyors • Motors • Sensors • Communication • Wireless • Wired
Platforms • Simulation • POOSL • Execution • NQC • Verification • PROMELA/SPIN
Model Transformations • DSL • DSL(Asynchronous) • DSL(Lossless • Communication) • DSL(Limited number of objects) • Verification • Simulation • Execution T1 T2’ T3 V T1’ E V S T2 T3’
Language Evolution • Platforms were added one by one • With each step, the DSL evolved • Variable scoping • Initial values for variables • Conditional message reception • Bugfixes • … • With each step, the transformations evolved • Transformation strategy • More fine-grained
Conclusions • Three main influences on DSL evolution: • problem domain, • target platforms, • aspiration to uphold model quality • Attributes of model quality may be conflicting • Adding target platforms makes the DSL more specific
Future Work Study the effects of more fine-grained model transformations Graphical model editor Constraining the language Correctness proofs Extending the syntax to simplify the process of model checking Research the evolution of a more extensive DSL