120 likes | 253 Vues
This exercise explores the iterative design of domain-specific languages (DSLs) across various platforms. It discusses the context of concurrent objects, controllers, and communication methods, addressing model transformations and language evolution. The analysis identifies three main influences on DSL evolution: problem domain, target platforms, and model quality aspirations. It outlines the transformation strategies, verification methods, and simulation approaches used in evolving DSLs. Future work may involve studying fine-grained transformations, enhancing graphical editors, and evolving extended syntax for model checking.
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