Skip to main content

Archimedean Points: The Essence for Mastering Change

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((TFMC,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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Archimedes’ dictum “Give me a place to stand on, and I will move the earth” was part of his intuitive explanation of the lever principle. Today this quote is often transferred into other scenarios as a metaphor for the power of invariance.

  2. 2.

    In order to deal with cyclic transitions, the emptiness requirement of successor places is dropped for places that are predecessor as well as successor of a transition.

  3. 3.

    The term “part” is used in Eclipse applications for the sub-windows that can be arranged as tabs within the main window.

  4. 4.

    In Petri nets this is usually done by coloring of tokens [45].

  5. 5.

    Note that the random access structure could be realized to contain only a single input transition and a single output transition by introducing dedicated gate places, but the resulting overall structure would be more complex.

References

  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. 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. 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

    Chapter  Google Scholar 

  4. Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Trans. Program. Lang. Syst. (TOPLAS) 16(3), 843–871 (1994)

    Article  Google Scholar 

  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

    MATH  Google Scholar 

  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. Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press, New York (2011)

    Google Scholar 

  8. Mernik, M., Heering, J., Sloane, A.M.: When and How to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)

    Article  Google Scholar 

  9. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)

    Google Scholar 

  10. Herrington, J.: Code Generation in Action. Manning Publications Co., Greenwich (2003)

    Google Scholar 

  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. 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. 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. 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

    Chapter  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  16. Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1–64 (2011)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  18. Margaria, T., Steffen, B.: Simplicity as a driver for agile innovation. Computer 43(6), 90–92 (2010)

    Article  Google Scholar 

  19. Margaria, T., Steffen, B.: Continuous model-driven engineering. IEEE Comput. 42(10), 106–109 (2009)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  21. Neubauer, J., Steffen, B.: Plug-and-play higher-order process integration. IEEE Comput. 46(11), 56–62 (2013)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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. Steffen, B., Margaria, T., Braun, V., Kalt, N.: Hierarchical service definition. Ann. Rev. Commun. ACM 51, 847–856 (1997)

    Google Scholar 

  26. Olderog, E.-R., Steffen, B. (eds.): Correct System Design. LNCS, vol. 1710. Springer, Heidelberg (1999)

    Google Scholar 

  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

    Chapter  Google Scholar 

  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 2013

    Google Scholar 

  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)

    MATH  Google Scholar 

  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 2010

    Google Scholar 

  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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  33. Lamprecht, A.L., Naujokat, S., Schaefer, I.: Variability management beyond feature models. IEEE Comput. 46(11), 48–54 (2013)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  35. Parr, A.: Industrial Control Handbook, 3rd edn. Newnes, Oxford, Auckland, Boston, Johannesburg, Melbourne, New Delhi (1998)

    Google Scholar 

  36. Bolton, W.: Programmable Logic Controllers, 6th edn. Newnes/Elsevier, Amsterdam/Boston (2015)

    Google Scholar 

  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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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 

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

    Article  MATH  Google Scholar 

  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. Isberner, M., Howar, F., Steffen, B.: The open-source LearnLib: a framework for active automata learning. In: CAV 2015 (2015)

    Google Scholar 

  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. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 1, 2nd edn. Springer, Heidelberg (1996)

    Book  MATH  Google Scholar 

  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

    Chapter  Google Scholar 

  47. Erl, T.: SOA: Principles of Service Design. Prentice Hall, Upper Saddle River (2007)

    Google Scholar 

  48. Hürsch, W.L., Lopes, C.V.: Separation of concerns. Technical Report NU-CCS-95-03, Northeastern University, Boston, MA, February 1995

    Google Scholar 

  49. JetBrains: Meta Programming System. https://www.jetbrains.com/mps/. Accessed 07 April 2016

  50. Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)

    Google Scholar 

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

    Google Scholar 

  52. Eclipse Modeing Framework. http://www.eclipse.org/modeling/emf/

  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. Epsilon. www.eclipse.org/epsilon/. Accessed 21 May 2014

  55. Epsilon EuGENia. http://www.eclipse.org/epsilon/doc/eugenia/. Accessed 21 May 2014

  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

    Chapter  Google Scholar 

  57. Spray - a quick way of creating Graphiti. http://code.google.com/a/eclipselabs.org/p/spray/. Accessed 23 April 20014

  58. Eclipse Sirius. http://www.eclipse.org/sirius/. Accessed 07 November 2014

  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)

    Article  Google Scholar 

  60. Marama. https://wiki.auckland.ac.nz/display/csidst/Welcome. Accessed 23 April 2014

  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. 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

    Chapter  Google Scholar 

  63. MetaCase Website. http://www.metacase.com/. Accessed 08 July 2015

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

    Book  Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bernhard Steffen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this chapter

Cite this chapter

Steffen, B., Naujokat, S. (2016). Archimedean Points: The Essence for Mastering Change. In: Steffen, B. (eds) Transactions on Foundations for Mastering Change I. Lecture Notes in Computer Science(), vol 9960. Springer, Cham. https://doi.org/10.1007/978-3-319-46508-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46508-1_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46507-4

  • Online ISBN: 978-3-319-46508-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics