Advertisement

An Integrated Framework to Develop Domain-Specific Languages: Extended Case Study

  • Bahram ZarrinEmail author
  • Hubert Baumeister
  • Hessam Sarjoughian
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 991)

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.

Keywords

Domain-specific languages Formal languages Semantics specification Microsoft DSL Tools FORMULA ForSpec Flow-based programming 

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    Balasubramanian, D., Narayanan, A., van Buskirk, C., Karsai, G.: The graph rewriting and transformation language: GReAT. Electronic Communications of the EASST (2007)Google Scholar
  4. 4.
    Bergius, H.: NoFlo, April 2014. http://noflojs.org/
  5. 5.
    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_10CrossRefGoogle Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    DSPatch: DSPatch - C++ flow-based programming library, April 2014. http://www.flowbasedprogramming.com/
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    Gargantini, A., Riccobene, E., Scandurra, P.: A semantic framework for metamodel-based languages. Autom. Softw. Eng. 16(3–4), 415–454 (2009)CrossRefGoogle Scholar
  10. 10.
    Gurevich, Y.: Evolving algebras 1993: Lipari guide. Specification and Validation Methods, pp. 9–36 (1995)Google Scholar
  11. 11.
    IBM: IBM InfoSphere DataStage, April 2014. http://www01.ibm.com/software/data/infosphere/datastage/
  12. 12.
    Jackson, E., Sztipanovits, J.: Formalizing the structural semantics of domain-specific modeling languages. Softw. Syst. Model. 8(4), 451–478 (2009)CrossRefGoogle Scholar
  13. 13.
    Jackson, E.K., Bjørner, N., Schulte, W.: Canonical regular types. In: ICLP (Technical Communications) (2011)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Lédeczi, Á., et al.: Composing domain-specific design environments. Computer 34(11), 44–51 (2001)CrossRefGoogle Scholar
  17. 17.
    Lindecker, D., Simko, G., Levendovszky, T., Madari, I., Sztipanovits, J.: Validating transformations for semantic anchoring. J. Object Technol. 14(3), 1–25 (2015)CrossRefGoogle Scholar
  18. 18.
    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_4CrossRefGoogle Scholar
  19. 19.
    Microsoft: Visualization and Modeling SDK – Domain-Specific Languages, April 2014. http://msdn.microsoft.com/en-us/library/bb126259.aspx
  20. 20.
    Montages: xocl: executable ocl, November 2007. http://www.montages.com/xocl.html
  21. 21.
    Morrison, J.P.: Data stream linkage mechanism. IBM Syst. J. 17(4), 383–408 (1978)CrossRefGoogle Scholar
  22. 22.
    Morrison, J.P.: Flow-Based Programming, A New Approach to Application Development, 2nd Edn. CreateSpace Independent Publishing Platform, CreateSpace (2010)Google Scholar
  23. 23.
    PyF: PyF - Python FBP implementation, April 2014. http://pyfproject.org/
  24. 24.
    QVT: OMG MOF 2.0 query/view/transformation (qvt), OMG Document - formal/08-04-03, April 2008Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    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_20CrossRefGoogle Scholar
  27. 27.
    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_12CrossRefGoogle Scholar
  28. 28.
    Action Semantics: The action semantics consortium for the UML, OMG Document - formal/2001-03-01, April 2001Google Scholar
  29. 29.
    Simko, G.: Formal Semantic Specification of Domain-Specific Modeling Languages for Cyber-Physical Systems. Ph.D. thesis, Vanderbilt University (2014)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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_29CrossRefGoogle Scholar
  32. 32.
    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_16CrossRefGoogle Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Bahram Zarrin
    • 1
    Email author
  • Hubert Baumeister
    • 1
  • Hessam Sarjoughian
    • 2
  1. 1.DTU ComputeTechnical University of DenmarkKgs LyngbyDenmark
  2. 2.School of Computing, Informatics, and Decision Systems EngineeringArizona State UniversityTempeUSA

Personalised recommendations