Advertisement

Archimedean Points: The Essence for Mastering Change

  • Bernhard Steffen
  • Stefan Naujokat
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9960)

Abstract

Explicit Archimedean Point-driven (software) system development aims at maintaining as much control as possible via ‘things’ that do not change, and may radically alter the role of modeling and development tools. The idea is to incorporate as much knowledge as possible into the tools themselves. This way they become domain-specific, problem-specific, or even specific to a particular new requirement for a system already in operation. Key to the practicality of this approach is a much increased ease of tool development: it must be economic to alter the modeling tool as part of specific development tasks. The Cinco framework aims at exactly this kind of ease: once the intended change is specified, generating a new tool is essential a push button activity. This philosophy and tool chain are illustrated along the stepwise construction of a BPMN tool via a chain of increasingly expressive Petri net tools. By construction, the resulting BPMN tool has a conceptually very clean semantic foundation, which enables tool features like various consistency checks, type-controlled activity integration, and true full code generation.

Keywords

Model Check Modeling Tool Runtime Verification Dataflow Analysis Archimedean Point 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Schuldt, H.: Multi-tier architecture. In: Liu, L., Özsu, M.T. (eds.) Encyclopedia of Database Systems, pp. 1862–1865. Springer, New York (2009)Google Scholar
  2. 2.
    Clarke, E.M., Grumberg, O.: Avoiding the state explosion problem in temporal logic model checking. In: Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing (PODC 1987), pp. 294–303. ACM, New York (1987)Google Scholar
  3. 3.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Progress on the state explosion problem in model checking. In: Wilhelm, R. (ed.) Informatics. LNCS, vol. 2000, pp. 176–194. Springer, Heidelberg (2001). doi: 10.1007/3-540-44577-3_12 CrossRefGoogle Scholar
  4. 4.
    Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Trans. Program. Lang. Syst. (TOPLAS) 16(3), 843–871 (1994)CrossRefGoogle Scholar
  5. 5.
    Zwiers, J.: Compositionality, Concurrency and Partial Correctness. Proof Theories for Networks of Processes, and Their Relationship. LNCS, vol. 321. Springer, Heidelberg (1989). doi: 10.1007/BFb0020836 zbMATHGoogle Scholar
  6. 6.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). doi: 10.1007/BFb0053381 Google Scholar
  7. 7.
    Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press, New York (2011)Google Scholar
  8. 8.
    Mernik, M., Heering, J., Sloane, A.M.: When and How to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRefGoogle Scholar
  9. 9.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)Google Scholar
  10. 10.
    Herrington, J.: Code Generation in Action. Manning Publications Co., Greenwich (2003)Google Scholar
  11. 11.
    Object Management Group (OMG): Documents associated with Object Constraint Language (OCL), Version 2.4 (2014). http://www.omg.org/spec/OCL/2.4/
  12. 12.
    Barwise, J.: An introduction to first-order logic. In: Barwise, J. (ed.) Handbook of Mathematical Logic. Elsevier Science Publishers B.V, Amsterdam (1977)Google Scholar
  13. 13.
    Giannakopoulou, D., Havelund, K.: Automata-based verification of temporal properties on running programs. In: Proceedings of 16th IEEE International Conference on Automated Software Engineering (ASE 2001), pp. 412–416 (2001)Google Scholar
  14. 14.
    Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 44–57. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-24622-0_5 CrossRefGoogle Scholar
  15. 15.
    Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebr. Program. 78(5), 293–303 (2009). The 1st Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS’07)CrossRefzbMATHGoogle Scholar
  16. 16.
    Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1–64 (2011)CrossRefGoogle Scholar
  17. 17.
    Sokolsky, O., Havelund, K., Lee, I.: Introduction to the special section on runtime verification. Int. J. Softw. Tools Technol. Transf. 14(3), 243–247 (2011)CrossRefGoogle Scholar
  18. 18.
    Margaria, T., Steffen, B.: Simplicity as a driver for agile innovation. Computer 43(6), 90–92 (2010)CrossRefGoogle Scholar
  19. 19.
    Margaria, T., Steffen, B.: Continuous model-driven engineering. IEEE Comput. 42(10), 106–109 (2009)CrossRefGoogle Scholar
  20. 20.
    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). doi: 10.1007/978-3-540-70889-6_7 CrossRefGoogle Scholar
  21. 21.
    Neubauer, J., Steffen, B.: Plug-and-play higher-order process integration. IEEE Comput. 46(11), 56–62 (2013)CrossRefGoogle Scholar
  22. 22.
    Neubauer, J., Steffen, B., Margaria, T.: Higher-order process modeling: product-lining, variability modeling and beyond. Electr. Proc. Theor. Comput. Sci. 129, 259–283 (2013)CrossRefGoogle Scholar
  23. 23.
    Müller-Olm, M., Schmidt, D., Steffen, B.: Model-checking: a tutorial introduction. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 330–354. Springer, Heidelberg (1999). doi: 10.1007/3-540-48294-6_22 CrossRefGoogle Scholar
  24. 24.
    Steffen, B., Margaria, T., Freitag, B.: Module configuration by minimal model construction. Technical report, Fakultät für Mathematik und Informatik, Universität Passau (1993)Google Scholar
  25. 25.
    Steffen, B., Margaria, T., Braun, V., Kalt, N.: Hierarchical service definition. Ann. Rev. Commun. ACM 51, 847–856 (1997)Google Scholar
  26. 26.
    Olderog, E.-R., Steffen, B. (eds.): Correct System Design. LNCS, vol. 1710. Springer, Heidelberg (1999)Google Scholar
  27. 27.
    Steffen, B., Margaria, T., Claßen, A., Braun, V.: Incremental formalization. In: Wirsing, M., Nivat, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 608–611. Springer, Heidelberg (1996). doi: 10.1007/BFb0014354 CrossRefGoogle Scholar
  28. 28.
    Neubauer, J., Margaria, T., Steffen, B.: Design for verifiability: the OCS case study. In: Formal Methods for Industrial Critical Systems: A Survey of Applications, pp. 153–178. Wiley-IEEE Computer Society Press, March 2013Google Scholar
  29. 29.
    Jonsson, B., Margaria, T., Naeser, G., Nyström, J., Steffen, B.: Incremental requirement specification for evolving systems. Nordic J. Comput. 8, 65–87 (2001)zbMATHGoogle Scholar
  30. 30.
    Lamprecht, A.L., Naujokat, S., Margaria, T., Steffen, B.: Synthesis-based loose programming. In: Proceedings of the 7th International Conference on the Quality of Information and Communications Technology (QUATIC 2010), Porto, Portugal, pp. 262–267. IEEE, September 2010Google Scholar
  31. 31.
    Naujokat, S., Lamprecht, A.-L., Steffen, B.: Loose programming with PROPHETS. In: Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 94–98. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28872-2_7 CrossRefGoogle Scholar
  32. 32.
    Jörges, S., Lamprecht, A.L., Margaria, T., Schaefer, I., Steffen, B.: A constraint-based variability modeling framework. Int. J. Softw. Tools Technol. Transf. (STTT) 14(5), 511–530 (2012)CrossRefGoogle Scholar
  33. 33.
    Lamprecht, A.L., Naujokat, S., Schaefer, I.: Variability management beyond feature models. IEEE Comput. 46(11), 48–54 (2013)CrossRefGoogle Scholar
  34. 34.
    Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujilol, S., Villela, K.: Software diversity - state of the art and perspectives. Int. J. Softw. Tools Technol. Transf. (STTT) 14(5), 477–495 (2012)CrossRefGoogle Scholar
  35. 35.
    Parr, A.: Industrial Control Handbook, 3rd edn. Newnes, Oxford, Auckland, Boston, Johannesburg, Melbourne, New Delhi (1998)Google Scholar
  36. 36.
    Bolton, W.: Programmable Logic Controllers, 6th edn. Newnes/Elsevier, Amsterdam/Boston (2015)Google Scholar
  37. 37.
    Dittrich, K.R., Gatziu, S., Geppert, A.: The active database management system manifesto: a rulebase of ADBMS features. In: Sellis, T. (ed.) RIDS 1995. LNCS, vol. 985, pp. 1–17. Springer, Heidelberg (1995). doi: 10.1007/3-540-60365-4_116 CrossRefGoogle Scholar
  38. 38.
    Almeida, E.E., Luntz, J.E., Tilbury, D.M.: Event-condition-action systems for reconfigurable logic control. IEEE T. Autom. Sci. Eng. 4(2), 167–181 (2007)CrossRefGoogle Scholar
  39. 39.
    Naujokat, S., Lybecait, M., Kopetzki, D., Steffen, B.: CINCO: A Simplicity-Driven Approach to Full Generation of Domain-Specific Graphical Modeling Tools (2016, to appear)Google Scholar
  40. 40.
    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 CrossRefGoogle Scholar
  41. 41.
    Steffen, B.: Generating data flow analysis algorithms from modal specifications. Sci. Comput. Program. 21(2), 115–139 (1993)CrossRefzbMATHGoogle Scholar
  42. 42.
    Windmüller, S., Neubauer, J., Steffen, B., Howar, F., Bauer, O.: Active continuous quality control. In: 16th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2013, pp. 111–120. ACM SIGSOFT, New York (2013)Google Scholar
  43. 43.
    Isberner, M., Howar, F., Steffen, B.: The open-source LearnLib: a framework for active automata learning. In: CAV 2015 (2015)Google Scholar
  44. 44.
    Object Management Group (OMG): Documents Associated with BPMN Version 2.0.1 (2013). http://www.omg.org/spec/BPMN/2.0.1/. Accessed 09 September 2015
  45. 45.
    Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 1, 2nd edn. Springer, Heidelberg (1996)CrossRefzbMATHGoogle Scholar
  46. 46.
    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 CrossRefGoogle Scholar
  47. 47.
    Erl, T.: SOA: Principles of Service Design. Prentice Hall, Upper Saddle River (2007)Google Scholar
  48. 48.
    Hürsch, W.L., Lopes, C.V.: Separation of concerns. Technical Report NU-CCS-95-03, Northeastern University, Boston, MA, February 1995Google Scholar
  49. 49.
    JetBrains: Meta Programming System. https://www.jetbrains.com/mps/. Accessed 07 April 2016
  50. 50.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)Google Scholar
  51. 51.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar
  52. 52.
    Eclipse Modeing Framework. http://www.eclipse.org/modeling/emf/
  53. 53.
    Kolovos, D., Rose, L., García-Domínguez, A., Paige, R.: The Epsilon Book (2015). http://eclipse.org/epsilon/doc/book/. Accessed 4 February 2015
  54. 54.
    Epsilon. www.eclipse.org/epsilon/. Accessed 21 May 2014
  55. 55.
    Epsilon EuGENia. http://www.eclipse.org/epsilon/doc/eugenia/. Accessed 21 May 2014
  56. 56.
    Kolovos, D.S., Rose, L.M., Abid, S.B., Paige, R.F., Polack, F.A.C., Botterweck, G.: Taming EMF and GMF using model transformation. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 211–225. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16145-2_15 CrossRefGoogle Scholar
  57. 57.
    Spray - a quick way of creating Graphiti. http://code.google.com/a/eclipselabs.org/p/spray/. Accessed 23 April 20014
  58. 58.
    Eclipse Sirius. http://www.eclipse.org/sirius/. Accessed 07 November 2014
  59. 59.
    Grundy, J., Hosking, J., Li, K.N., Ali, N.M., Huh, J., Li, R.L.: Generating domain-specific visual language tools from abstract visual specifications. IEEE Trans. Softw. Eng. 39(4), 487–515 (2013)CrossRefGoogle Scholar
  60. 60.
  61. 61.
    Zhu, N., Grundy, J., Hosking, J.: Pounamu: a meta-tool for multi-view visual language environment construction. In: 2004 IEEE Symposium on Visual Languages and Human Centric Computing (2004)Google Scholar
  62. 62.
    Kelly, S., Lyytinen, K., Rossi, M.: MetaEdit+ a fully configurable multi-user and multi-tool CASE and CAME environment. In: Constantopoulos, P., Mylopoulos, J., Vassiliou, Y. (eds.) CAiSE 1996. LNCS, vol. 1080, pp. 1–21. Springer, Heidelberg (1996). doi: 10.1007/3-540-61292-0_1 CrossRefGoogle Scholar
  63. 63.
    MetaCase Website. http://www.metacase.com/. Accessed 08 July 2015
  64. 64.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)CrossRefGoogle Scholar
  65. 65.
    Kastens, U., Pfahler, P., Jung, M.: The Eli system. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 294–297. Springer, Heidelberg (1998). doi: 10.1007/BFb0026439 CrossRefGoogle Scholar
  66. 66.
    Schmidt, C., Cramer, B., Kastens, U.: Generating visual structure editors from high-level specifications. Technical report, University of Paderborn, Germany (2008)Google Scholar
  67. 67.
    Naujokat, S., Neubauer, J., Margaria, T., Steffen, B.: Meta-level reuse for mastering domain specialization. In: Proceedings of the 7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2016) (2016)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Chair for Programming SystemsTU Dortmund UniversityDortmundGermany

Personalised recommendations