Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1862372.1862386acmotherconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

An exercise in iterative domain-specific language design

Published: 20 September 2010 Publication History

Abstract

We describe our experiences with the process of designing a domain-specific language (DSL) and corresponding model transformations. The simultaneous development of the language and the transformations has lead to an iterative evolution of the DSL. We identified four main influences on the evolution of our DSL: the problem domain, the target platforms, model quality, and model transformation quality.
Our DSL is aimed at modeling the structure and behavior of distributed communicating systems. Simultaneously with the development of our DSL, we implemented three model transformations to different formalisms: one for simulation, one for execution, and one for verification. Transformations to each of these formalisms were implemented one at the time, while preserving the validity of the existing ones. The DSL and the formalisms for simulation, execution, and verification have different semantic characteristics. We also implemented a number of model transformations that bridge the semantic gaps between our DSL and each of the three formalisms. In this paper, we describe our development process and how the aforementioned influences have caused our DSL to evolve.

References

[1]
}}The Eclipse Graphical Modeling Framework (GMF). http://www.eclipse.org/modeling/gmf/.
[2]
}}Lego Mindstorms website. http://www.lego.com/eng/education/mindstorms/.
[3]
}}J. Baeten and C. A. Middelburg. Process Algebra with Timing. Springer, 2002.
[4]
}}D. Baum. NQC Programmer's Guide, 2003. http://bricxcc.sourceforge.net/nqc/doc/.
[5]
}}B. W. Boehm, J. R. Brown, H. Kaspar, M. Lipow, G. J. Macleod, and M. J. Merrit. Characteristics of Software Quality. North-Holland, 1978.
[6]
}}A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. Automating co-evolution in model-driven engineering. In Proceedings of the 2008 twelfth International IEEE Enterprise Distributed Object Computing Conference, pages 222--231. IEEE Computer Society, 2008.
[7]
}}E. M. Clarke Jr., O. Grumberg, and D. A. Peled. Model Checking. MIT Press, 1999.
[8]
}}G. de Geest. Building a framework to support domain-specific language evolution. Master's thesis, Delft University of Technology, The Netherlands, 2008.
[9]
}}S. Efftinge and M. Völter. oAW xText: a framework for textual DSLs. In Workshop on Modeling Symposium at Eclipse Summit, 2006.
[10]
}}W. H. J. Feijen and A. J. M. van Gasteren. On a Method of Multiprogramming. Springer, 1999.
[11]
}}S. Freeman and N. Pryce. Evolving an embedded domain-specific language in java. In Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, pages 855--865. ACM, 2006.
[12]
}}A. Haase, M. Völter, S. Efftinge, and B. Kolb. Introduction to openArchitectureWare 4.1.2. In Model-Driven Development Tool Implementers Forum (co-located with TOOLS 2007), 2007.
[13]
}}G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, 2003.
[14]
}}F. Jouault and I. Kurtev. Transforming models with ATL. In MoDELS 2005 Satellite Events, number 3844 in Lecture Notes in Computer Science, pages 128--138. Springer, 2005.
[15]
}}M. Karaila. Evolution of a Domain Specific Language and its engineering environment -- Lehman's laws revisited. In Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling, 2009.
[16]
}}M. M. Lehman, J. F. Ramil, P. Wernick, D. E. Perry, and W. M. Turski. Metrics and laws of software evolution -- The nineties view. In Proceedings of the 4th IEEE International Software Metrics Symposium, pages 20--33. IEEE Computer Society, 1997.
[17]
}}J. Luoma, S. Kelly, and J.-P. Tolvanen. Defining domain-specific modeling languages: Collected experiences. In Proceedings of the 4th OOPSLA Workshop on Domain-Specific Modeling, number TR-33 in Computer Science and Information System Reports. University of Jyväskylä, Finland, 2004.
[18]
}}M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. ACM Computing Surveys, 37(4):316--344, 2005.
[19]
}}R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
[20]
}}A. Pnueli. The temporal logic of programs. In Proceedings fo the 18th Annual Symposium on Foundations of Computer Science, pages 46--57, 1977.
[21]
}}N. Pontisso and D. Chemouil. TOPCASED combining formal methods with model-driven engineering. In Proceedings of the 21st IEEE International Conference on Automated Software Engineering, pages 359--360. IEEE Computer Society, 2006.
[22]
}}D. C. Schmidt. Model-driven engineering. Computer, 39(2):25--31, 2006.
[23]
}}J. Sprinkle and G. Karsai. A domain-specific visual language for domain model evolution. Journal of Visual Languages & Computing, 15(3--4):291--307, 2004.
[24]
}}D. Steinberg, F. Budinsky, M. Paternostro, and E. Merks. EMF: Eclipse Modeling Framework. Addison-Wesley Professional, second edition, 2009.
[25]
}}B. D. Theelen, O. Florescu, M. C. W. Geilen, J. Huang, P. H. A. van der Putten, and J. P. M. Voeten. Software/hardware engineering with the Parallel Object-Oriented Specification Language. In Proceedings of the 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign, pages 139--148. IEEE Computer Society, 2007.
[26]
}}M. F. van Amstel, M. G. J. van den Brand, Z. Protić, and T. Verhoeff. Transforming process algebra models into UML state machines: Bridging a semantic gap? In Proceedings of the first International Conference on Model Transformation, volume 5063 of Lecture Notes in Computer Science, pages 61--75. Springer, 2008.
[27]
}}D. A. van Beek, P. Collins, D. E. Nadales Agut, J. E. Rooda, and R. R. H. Schiffelers. New concepts in the abstract format of the Compositional Interchange Format. In Proceedings of the 3rd IFAC Conference on Analysis and Design of Hybrid Systems, 2009.
[28]
}}D. A. van Beek, A. T. Hofkamp, M. A. Reniers, J. E. Rooda, and R. R. H. Schiffelers. Syntax and formal semantics of Chi 2.0. SE-Report 2008--01, Systems Engineering Group, Department of Mechanical Engineering, Eindhoven University of Technology, The Netherlands, 2008.
[29]
}}M. G. J. van den Brand, L. J. P. Engelen, M. Hamilton, A. Levytskyy, and J. P. M. Voeten. Embedded systems modeling, analysis and synthesis. In Ideals: evolvability of software-intensive high-tech systems, chapter 7, pages 99--112. Embedded Systems Institute, Eindhoven, The Netherlands, 2007.
[30]
}}A. van Deursen and P. Klint. Little languages: Little maintenance? Journal of Software Maintenance, 10(2):75--92, 1998.
[31]
}}A. van Deursen, P. Klint, and J. Visser. Domain-specific languages: An annotated bibliography. SIGPLAN Notices, 35(6):26--36, 2000.
[32]
}}E. Visser. Syntax Definition for Language Prototyping. PhD thesis, Universiteit van Amsterdam, The Netherlands, 1997.

Cited By

View all
  • (2024)Supporting meta-model-based language evolution and rapid prototyping with automated grammar transformationJournal of Systems and Software10.1016/j.jss.2024.112069214(112069)Online publication date: Aug-2024
  • (2024)Embedding Formal Verification in Model-Driven Software Engineering with Slco: An OverviewFormal Aspects of Component Software10.1007/978-3-031-52183-6_11(206-227)Online publication date: 13-Jan-2024
  • (2022)Survey of established practices in the life cycle of domain-specific languagesProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552413(266-277)Online publication date: 23-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
IWPSE-EVOL '10: Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
September 2010
104 pages
ISBN:9781450301282
DOI:10.1145/1862372
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 September 2010

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

IWPSE-EVOL '10

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 02 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Supporting meta-model-based language evolution and rapid prototyping with automated grammar transformationJournal of Systems and Software10.1016/j.jss.2024.112069214(112069)Online publication date: Aug-2024
  • (2024)Embedding Formal Verification in Model-Driven Software Engineering with Slco: An OverviewFormal Aspects of Component Software10.1007/978-3-031-52183-6_11(206-227)Online publication date: 13-Jan-2024
  • (2022)Survey of established practices in the life cycle of domain-specific languagesProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552413(266-277)Online publication date: 23-Oct-2022
  • (2021)Modeling Data Flow Constraints for Design-Time Confidentiality Analyses2021 IEEE 18th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C52384.2021.00009(15-21)Online publication date: Mar-2021
  • (2021)A Domain-Specific Language for Product-Process-Resource Modeling2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA )10.1109/ETFA45728.2021.9613674(1-8)Online publication date: 7-Sep-2021
  • (2020)Towards a Domain-Specific Language for Product-Process-Resource Constraints2020 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA46521.2020.9212063(1405-1408)Online publication date: Sep-2020
  • (2019)Reusable specification templates for defining dynamic semantics of DSLsSoftware and Systems Modeling (SoSyM)10.1007/s10270-017-0590-018:1(691-720)Online publication date: 1-Feb-2019
  • (2017)A Systematic Mapping Study on DSL Evolution2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA.2017.25(149-156)Online publication date: Aug-2017
  • (2015)Corpus-based analysis of domain-specific languagesSoftware and Systems Modeling (SoSyM)10.1007/s10270-013-0352-614:2(889-904)Online publication date: 1-May-2015
  • (2015)Towards Modular Verification of Threaded Concurrent Executable Code Generated from DSL ModelsRevised Selected Papers of the 12th International Conference on Formal Aspects of Component Software - Volume 953910.1007/978-3-319-28934-2_8(141-160)Online publication date: 14-Oct-2015
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media