Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9953))

Included in the following conference series:

  • 2422 Accesses

Abstract

We reflect on the distinction between modeling and programming in terms of what and how and emphasize the importance of perspectives: what is a model (a what) for the one, may well be a program (a how) for the other. In fact, attempts to pinpoint technical criteria like executability or abstraction for clearly separating modeling from programming seem not to survive modern technical developments. Rather, the underlying conceptual cores continuously converge. What remains is the distinction of what and how separating true purpose from its realization, i.e. providing the possibility of formulating the primary intent without being forced to over-specify. We argue that no unified general-purpose language can adequately support this distinction in general, and propose a meta-level framework for mastering the wealth of required domain-specific languages in a bootstrapping fashion.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Originally ML was designed to describe proof tactics of the LCF theorem prover [34].

  2. 2.

    http://kotlinlang.org.

  3. 3.

    http://www.gwtproject.org.

  4. 4.

    One sometimes speaks of term or Herbrand interpretation.

  5. 5.

    ANTLR: http://www.antlr.org/

    Yacc: http://dinosaur.compilertools.net/yacc/

    JavaCC: https://javacc.java.net/.

  6. 6.

    The term DSM is often correlated to Kelly and Tolvanen’s book [26] and the corresponding MetaEdit framework. However, we broaden the term to all approaches aiming at a similar purpose.

  7. 7.

    A detailed introduction to the available process model types is given in [5, 6] and DIME’s web site: http://dime.scce.info.

  8. 8.

    Bundle is the term used by Eclipse’s underlying OSGi architecture. The term plug-in is probably more commonly understood for non-Eclipse developers.

  9. 9.

    http://cinco.scce.info.

  10. 10.

    This is the main reason why we developed DIME’s initial code generators using Xtend.

  11. 11.

    Prior to DIME, processes for DyWA-based web applications were modeled in jABC with dedicated components generated from the application’s data schema, in turn modeled in DyWA.

  12. 12.

    This can be very different artefacts, not just classic desktop applications.

References

  1. Dart programming language. https://www.dartlang.org/. Online; last accessed 26 Jul 2016

  2. Eclipse Modeling Tools. http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/lunasr2. Online; last accessed 30 Jul 2016

  3. Xtend - Modernized Java. https://www.eclipse.org/xtend/. Online; last accessed 30 Jul 2016

  4. Backus, J.W.: The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference. In: IFIP Congress, pp. 125–131 (1959)

    Google Scholar 

  5. Boßelmann, S., Frohme, M., Kopetzki, D., Lybecait, M., Naujokat, S., Neubauer, J., Wirkner, D., Zweihoff, P., Steffen, B.: DIME: a programming-less modeling environment for web applications. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part II. LNCS, vol. 9953, pp. 809–832. Springer, Cham (2016)

    Google Scholar 

  6. Boßelmann, S., Neubauer, J., Naujokat, S., Steffen, B.: Model-driven design of secure high assurance systems: an introduction to the open platform from the user perspective. In: Margaria, T., Solo, A.M.G. (eds.) The 2016 International Conference on Security and Management (SAM 2016). Special Track “End-to-end Security and Cybersecurity: from the Hardware to Application”, pp. 145–151. CREA Press (2016)

    Google Scholar 

  7. Broy, M., Havelund, K., Kumar, R.: Towards a unified view of modeling and programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part II. LNCS, vol. 9953, pp. 238–257. Springer, Cham (2016)

    Google Scholar 

  8. Burkart, O., Steffen, B.: Model checking for context-free processes. In: Cleaveland, W. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 123–137. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  9. Burkart, O., Steffen, B.: Model checking the full modal mu-calculus for infinite sequential processes. Theoret. Comput. Sci. 221(1–2), 251–270 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  10. Chen, P.P.S.: The entity-relationship model - toward a unified view of data. Trans. Database Syst. (TODS) 1(1), 9–36 (1975)

    Article  Google Scholar 

  11. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)

    Google Scholar 

  12. Constable, R., Allen, S., Bromley, H., Cleaveland, W., Cremer, J., Harper, R., Howe, D., Knoblock, T., Mendler, N., Panangaden, P., Sasaki, J., Smith, S.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Upper Saddle River (1986)

    Google Scholar 

  13. Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Formal Methods Syst. Des. 19(1), 45–80 (2001)

    Article  MATH  Google Scholar 

  14. Dhamdhere, D.M.: A new algorithm for composite hoisting and strength reduction optimisation (+ Corrigendum). Int. J. Comp. Math. 27, 1–14 (1989)

    Article  Google Scholar 

  15. Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)

    Google Scholar 

  16. Filev, A., Loton, T., McNeish, K., Schoellmann, B., Slater, J., Wu, C.G.: Professional UML Using Visual Studio .Net. Wiley Publishing Inc., Indianapolis (2003)

    Google Scholar 

  17. Fowler, M., Parsons, R.: Domain-specific languages. Addison-Wesley/ACM Press (2011)

    Google Scholar 

  18. Gelbmann, M.: WordPress powers 25% of all websites (2015). https://w3techs.com/blog/entry/wordpress-powers-25-percent-of-all-websites. Online; last accessed 19 Jul 2016

  19. Gordon, M., Milner, R., Morris, L., Newey, M., Wadsworth, C.: A metalanguage for interactive proof in LCF. In: Proceedings of the 5th Symposium on Principles of Programming Languages (POPL 1978) (1978)

    Google Scholar 

  20. Jackson, P.B.: Nuprl and its use in circuit design. In: Stavridou, V., Melham, T., Boute, R. (eds.) Proceedings of the IFIP TC10/WG10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, pp. 311–336 (1992)

    Google Scholar 

  21. Jörges, S. (ed.): Construction and Evolution of Code Generators. LNCS, vol. 7747. Springer, Heidelberg (2013)

    Google Scholar 

  22. Jörges, S., Lamprecht, A.L., Margaria, T., Naujokat, S., Steffen, B.: Synthesis from a practical perspective. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part I. LNCS, vol. 9952, pp. 282–302. Springer, Cham (2016)

    Google Scholar 

  23. Jörges, S., Margaria, T., Steffen, B.: Genesys: service-oriented construction of property conform code generators. Innov. Syst. Softw. Eng. 4(4), 361–384 (2008)

    Article  Google Scholar 

  24. Jörges, S., Steffen, B.: Exploiting ecore’s reflexivity for bootstrapping domain-specific code-generators. In: Proceedings of 35th Software Engineering Workshop (SEW 2012), pp. 72–81. IEEE (2012)

    Google Scholar 

  25. Jörges, S., Steffen, B.: Back-to-back testing of model-based code generators. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8802, pp. 425–444. Springer, Heidelberg (2014). doi:10.1007/978-3-662-45234-9_30

    Google Scholar 

  26. Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)

    Book  Google Scholar 

  27. Knoop, J., Rüthing, O., Steffen, B.: Lazy code motion. In: Proceedings of the ACM SIGPLAN 1992 Conference on Programming Language Design and Implementation (PLDI), pp. 224–234. ACM (1992)

    Google Scholar 

  28. Knoop, J., Rüthing, O., Steffen, B.: Optimal Code Motion: Theory and Practice. ACM Trans. Program. Lang. Syst. 16(4), 1117–1155 (1994)

    Article  Google Scholar 

  29. Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomasson, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The generic modeling environment. In: Workshop on Intelligent Signal Processing (WISP 2001) (2001)

    Google Scholar 

  30. Margaria, T., Steffen, B.: Business process modelling in the jABC: the one-thing-approach. In: Cardoso, J., van der Aalst, W. (eds.) Handbook of Research on Business Process Modeling. IGI Global (2009)

    Google Scholar 

  31. Margaria, T., Steffen, B., Reitenspies̈, M.: Service-oriented design: the jABC approach. In: Cubera, F., Krämer, B.J., Papazoglou, M.P.(eds.) Service Oriented Computing (SOC). No. 05462 in Dagstuhl Seminar Proceedings. Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany (2006)

    Google Scholar 

  32. Margaria, T., Steffen, B., Reitenspieß, M.: Service-oriented design: the roots. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 450–464. Springer, Heidelberg (2005). doi:10.1007/11596141_34

    Chapter  Google Scholar 

  33. McAffer, J., Lemieux, J.M., Aniszczyk, C.: Eclipse Rich Client Platform, 2nd edn. Addison-Wesley Professional (2010)

    Google Scholar 

  34. Milner, R.: LCF: a way of doing proofs with a machine. In: Bečvář, J. (ed.) MFCS 1979. LNCS, vol. 74, pp. 146–159. Springer, Heidelberg (1979). doi:10.1007/3-540-09526-8_11

    Chapter  Google Scholar 

  35. Morel, E., Renvoise, C.: Global optimization by suppression of partial redundancies. Comm. ACM 22(2), 96–103 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  36. Naujokat, S., Lybecait, M., Kopetzki, D., Steffen, B.: CINCO: A Simplicity-Driven Approach to Full Generation of Domain-Specific Graphical Modeling Tools (to appear, 2016)

    Google Scholar 

  37. Naujokat, S., Neubauer, J., Lamprecht, A.L., Steffen, B., Jörges, S., Margaria, T.: Simplicity-first model-based plug-in development. Softw. Pract. Exp. 44(3), 277–297 (2013)

    Article  Google Scholar 

  38. Neubauer, J., Frohme, M., Steffen, B., Margaria, T.: Prototype-driven development of web applications with DyWA. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8802, pp. 56–72. Springer, Heidelberg (2014). doi:10.1007/978-3-662-45234-9_5

    Google Scholar 

  39. Neubauer, J., Steffen, B., Margaria, T.: Higher-order process modeling: product-lining, variability modeling and beyond. Electron. Proc. Theoret. Comput. Sci. 129, 259–283 (2013)

    Article  Google Scholar 

  40. Object Management Group (OMG): OMG Meta Object Facility (MOF) Core Specification Version 2.4.1, http://www.omg.org/spec/MOF/2.4.1/PDF. Online; last accessed 23 Apr 2014

  41. Object Management Group (OMG): Documents associated with Object Constraint Language (OCL), Version 2.4, February 2014. http://www.omg.org/spec/OCL/2.4/

  42. Plotkin, G.D.: A Structural Approach to Operational Semantics. Tech. rep., University of Aarhus, dAIMI FN-19 (1981)

    Google Scholar 

  43. Rumbaugh, J., Jacobsen, I., Booch, G.: The Unified Modeling Language Reference Manual. The Addison-Wesley Object Technology Series, 2 edn. Addison-Wesley Professional, July 2004

    Google Scholar 

  44. Schmidt, D., Steffen, B.: Program analysis as model checking of abstract interpretations. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 351–380. Springer, Heidelberg (1998). doi:10.1007/3-540-49727-7_22

    Chapter  Google Scholar 

  45. Steffen, B.: Data flow analysis as model checking. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 346–364. Springer, Heidelberg (1991). doi:10.1007/3-540-54415-1_54

    Chapter  Google Scholar 

  46. Steffen, B.: Generating data flow analysis algorithms from modal specifications. Sci. Comput. Program. 21(2), 115–139 (1993)

    Article  MATH  Google Scholar 

  47. Steffen, B., Claßen, A., Klein, M., Knoop, J., Margaria, T.: The fixpoint-analysis machine. In: Lee, I., Smolka, S. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 72–87. Springer, Berlin Heidelberg (1995)

    Chapter  Google Scholar 

  48. Steffen, B., Jörges, S., Wagner, C., Margaria, T.: Maintenance, or the 3rd dimension of eXtreme model-driven design. In: IEEE International Conference on Software Maintenance 2009 (ICSM 2009), pp. 483–486 (2009)

    Google Scholar 

  49. Steffen, B., Margaria, T., Nagel, R., Jörges, S., Kubczak, C.: Model-driven development with the jABC. In: Bin, E., Ziv, A., Ur, S. (eds.) HVC 2006. LNCS, vol. 4383, pp. 92–108. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  50. Steffen, B., Margaria, T., Wagner, C.: Round-Trip Engineering, chap. 94, pp. 1044–1055. Taylor & Francis (2010)

    Google Scholar 

  51. Steffen, B., Naujokat, S.: Archimedean points: the essence for mastering change. LNCS Trans. Found. for Mastering Change (FoMaC) 1(1) (2016)

    Google Scholar 

  52. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)

    Google Scholar 

  53. Wolper, P.: The meaning of “formal”: from weak to strong formal methods. Int. J. Softw. Tools Technol. Transf. (STTT) 1(1), 6–8 (1997)

    Article  Google Scholar 

Download references

Acknowledgments

This work was supported, in part, by Science Foundation Ireland grant 13/RC/2094 and co-funded under the European Regional Development Fund through the Southern & Eastern Regional Operational Programme to Lero - the Irish Software Research Centre (www.lero.ie).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Naujokat .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Naujokat, S., Neubauer, J., Margaria, T., Steffen, B. (2016). Meta-Level Reuse for Mastering Domain Specialization. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016. Lecture Notes in Computer Science(), vol 9953. Springer, Cham. https://doi.org/10.1007/978-3-319-47169-3_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47169-3_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47168-6

  • Online ISBN: 978-3-319-47169-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics