Abstract
In this paper, we propose an integrated framework to formally specify the syntax and the semantics of domain-specific languages. We build this framework by integrating the Microsoft DSL Tools, a framework to develop graphical domain-specific languages, and an extension of the ForSpec, a logic-based specification language. The motivation for proposing this framework is the lack of a formal and rigorous approach by DSL Tools for semantics specifications. We combine the aforementioned technologies under the umbrella of Microsoft Visual Studio IDE to facilitate the development of graphical DSLs within a single development environment. We use the Microsoft DSL Tools to specify the metamodel and graphical notations for DSLs, and our extension of the ForSpec, offering better support for semantic specifications. As a case study, we develop a modeling language to design domain-specific flow-based languages.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Agrawal, A., Simon, G., Karsai, G.: Semantic translation of simulink/stateflow models to hybrid automata using graph transformations. Electron. Notes Theor. Comput. Sci. 109, 43–56 (2004)
Balasubramanian, D., Jackson, E.K.: Lost in translation: forgetful semantic anchoring. In: Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering. ASE 2009, IEEE Computer Society (2009)
Balasubramanian, D., Narayanan, A., van Buskirk, C., Karsai, G.: The graph rewriting and transformation language: GReAT. Electronic Communications of the EASST (2007)
Bergius, H.: NoFlo, April 2014. http://noflojs.org/
Chen, K., Sztipanovits, J., Abdelwalhed, S., Jackson, E.: Semantic anchoring with model transformations. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 115–129. Springer, Heidelberg (2005). https://doi.org/10.1007/11581741_10
Di Ruscio, D., Jouault, F., Kurtev, I., Bézivin, J., Pierantonio, A.: Extending amma for supporting dynamic semantics specifications of DSLs. Technical report, LINA Research Report (2006)
DSPatch: DSPatch - C++ flow-based programming library, April 2014. http://www.flowbasedprogramming.com/
Ducasse, S., Girba, T., Kuhn, A., Renggli, L.: Meta-environment and executable meta-language using smalltalk: an experience report. Softw. Syst. Model. 8(1), 5–19 (2009)
Gargantini, A., Riccobene, E., Scandurra, P.: A semantic framework for metamodel-based languages. Autom. Softw. Eng. 16(3–4), 415–454 (2009)
Gurevich, Y.: Evolving algebras 1993: Lipari guide. Specification and Validation Methods, pp. 9–36 (1995)
IBM: IBM InfoSphere DataStage, April 2014. http://www01.ibm.com/software/data/infosphere/datastage/
Jackson, E., Sztipanovits, J.: Formalizing the structural semantics of domain-specific modeling languages. Softw. Syst. Model. 8(4), 451–478 (2009)
Jackson, E.K., Bjørner, N., Schulte, W.: Canonical regular types. In: ICLP (Technical Communications) (2011)
Jackson, E.K., Kang, E., Dahlweid, M., Seifert, D., Santen, T.: Components, platforms and possibilities: towards generic automation for MDA. In: Proceedings of the Tenth ACM International Conference on Embedded Software. ACM (2010)
Karsai, G., Agrawal, A., Shi, F., Sprinkle, J.: On the use of graph transformation in the formal specification of model interpreters. J. Univers. Comput. Sci. 9(11), 1296–1321 (2003)
Lédeczi, Á., et al.: Composing domain-specific design environments. Computer 34(11), 44–51 (2001)
Lindecker, D., Simko, G., Levendovszky, T., Madari, I., Sztipanovits, J.: Validating transformations for semantic anchoring. J. Object Technol. 14(3), 1–25 (2015)
Mayerhofer, T., Langer, P., Wimmer, M., Kappel, G.: xMOF: executable DSMLs based on fUML. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 56–75. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-02654-1_4
Microsoft: Visualization and Modeling SDK – Domain-Specific Languages, April 2014. http://msdn.microsoft.com/en-us/library/bb126259.aspx
Montages: xocl: executable ocl, November 2007. http://www.montages.com/xocl.html
Morrison, J.P.: Data stream linkage mechanism. IBM Syst. J. 17(4), 383–408 (1978)
Morrison, J.P.: Flow-Based Programming, A New Approach to Application Development, 2nd Edn. CreateSpace Independent Publishing Platform, CreateSpace (2010)
PyF: PyF - Python FBP implementation, April 2014. http://pyfproject.org/
QVT: OMG MOF 2.0 query/view/transformation (qvt), OMG Document - formal/08-04-03, April 2008
Romero, J.R., Rivera, J.E., Durán, F., Vallecillo, A.: Formal and tool support for model driven engineering with Maude. J. Object Technol. 6(9), 187–207 (2007)
Sadilek, D.A., Wachsmuth, G.: Using grammarware languages to define operational semantics of modelled languages. In: Oriol, M., Meyer, B. (eds.) TOOLS EUROPE 2009. LNBIP, vol. 33, pp. 348–356. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02571-6_20
Scheidgen, M., Fischer, J.: Human comprehensible and machine processable specifications of operational semantics. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA 2007. LNCS, vol. 4530, pp. 157–171. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72901-3_12
Action Semantics: The action semantics consortium for the UML, OMG Document - formal/2001-03-01, April 2001
Simko, G.: Formal Semantic Specification of Domain-Specific Modeling Languages for Cyber-Physical Systems. Ph.D. thesis, Vanderbilt University (2014)
Simko, G., Levendovszky, T., Neema, S., Jackson, E., Bapty, T., Porter, J., Sztipanovits, J.: Foundation for model integration: semantic backplane. In: ASME 2012 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. American Society of Mechanical Engineers (2012)
Simko, G., Lindecker, D., Levendovszky, T., Neema, S., Sztipanovits, J.: Specification of cyber-physical components with formal semantics – integration and composition. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 471–487. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41533-3_29
Wachsmuth, G.: Modelling the operational semantics of domain-specific modelling languages. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 506–520. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88643-3_16
Zarrin, B., Baumeister, H.: Design of a domain-specific language for material flow analysis using Microsoft DSL Tools: An experience paper. In: Proceedings of the 14th Workshop on Domain-Specific Modeling, DSM 2014. pp. 23–28. ACM (2014)
Zarrin, B., Baumeister, H.: An integrated framework to specify domain-specific modeling languages. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, vol. 1: MODELSWARD, pp. 83–94. INSTICC, SciTePress (2018)
Zarrin, B., Baumeister, H., Sarjoughian, H.: Towards domain-specific flow-based languages. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, vol. 1: MODELSWARD, pp. 319–325. INSTICC, SciTePress (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Zarrin, B., Baumeister, H., Sarjoughian, H. (2019). An Integrated Framework to Develop Domain-Specific Languages: Extended Case Study. In: Hammoudi, S., Pires, L., Selic, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2018. Communications in Computer and Information Science, vol 991. Springer, Cham. https://doi.org/10.1007/978-3-030-11030-7_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-11030-7_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-11029-1
Online ISBN: 978-3-030-11030-7
eBook Packages: Computer ScienceComputer Science (R0)