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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 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.
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.
The term “part” is used in Eclipse applications for the sub-windows that can be arranged as tabs within the main window.
- 4.
In Petri nets this is usually done by coloring of tokens [45].
- 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
Schuldt, H.: Multi-tier architecture. In: Liu, L., Özsu, M.T. (eds.) Encyclopedia of Database Systems, pp. 1862–1865. Springer, New York (2009)
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)
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
Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Trans. Program. Lang. Syst. (TOPLAS) 16(3), 843–871 (1994)
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
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
Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press, New York (2011)
Mernik, M., Heering, J., Sloane, A.M.: When and How to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)
Herrington, J.: Code Generation in Action. Manning Publications Co., Greenwich (2003)
Object Management Group (OMG): Documents associated with Object Constraint Language (OCL), Version 2.4 (2014). http://www.omg.org/spec/OCL/2.4/
Barwise, J.: An introduction to first-order logic. In: Barwise, J. (ed.) Handbook of Mathematical Logic. Elsevier Science Publishers B.V, Amsterdam (1977)
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)
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
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)
Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1–64 (2011)
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)
Margaria, T., Steffen, B.: Simplicity as a driver for agile innovation. Computer 43(6), 90–92 (2010)
Margaria, T., Steffen, B.: Continuous model-driven engineering. IEEE Comput. 42(10), 106–109 (2009)
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
Neubauer, J., Steffen, B.: Plug-and-play higher-order process integration. IEEE Comput. 46(11), 56–62 (2013)
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)
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
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)
Steffen, B., Margaria, T., Braun, V., Kalt, N.: Hierarchical service definition. Ann. Rev. Commun. ACM 51, 847–856 (1997)
Olderog, E.-R., Steffen, B. (eds.): Correct System Design. LNCS, vol. 1710. Springer, Heidelberg (1999)
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
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
Jonsson, B., Margaria, T., Naeser, G., Nyström, J., Steffen, B.: Incremental requirement specification for evolving systems. Nordic J. Comput. 8, 65–87 (2001)
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
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
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)
Lamprecht, A.L., Naujokat, S., Schaefer, I.: Variability management beyond feature models. IEEE Comput. 46(11), 48–54 (2013)
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)
Parr, A.: Industrial Control Handbook, 3rd edn. Newnes, Oxford, Auckland, Boston, Johannesburg, Melbourne, New Delhi (1998)
Bolton, W.: Programmable Logic Controllers, 6th edn. Newnes/Elsevier, Amsterdam/Boston (2015)
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
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)
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)
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
Steffen, B.: Generating data flow analysis algorithms from modal specifications. Sci. Comput. Program. 21(2), 115–139 (1993)
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)
Isberner, M., Howar, F., Steffen, B.: The open-source LearnLib: a framework for active automata learning. In: CAV 2015 (2015)
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
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 1, 2nd edn. Springer, Heidelberg (1996)
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
Erl, T.: SOA: Principles of Service Design. Prentice Hall, Upper Saddle River (2007)
Hürsch, W.L., Lopes, C.V.: Separation of concerns. Technical Report NU-CCS-95-03, Northeastern University, Boston, MA, February 1995
JetBrains: Meta Programming System. https://www.jetbrains.com/mps/. Accessed 07 April 2016
Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)
Eclipse Modeing Framework. http://www.eclipse.org/modeling/emf/
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
Epsilon. www.eclipse.org/epsilon/. Accessed 21 May 2014
Epsilon EuGENia. http://www.eclipse.org/epsilon/doc/eugenia/. Accessed 21 May 2014
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
Spray - a quick way of creating Graphiti. http://code.google.com/a/eclipselabs.org/p/spray/. Accessed 23 April 20014
Eclipse Sirius. http://www.eclipse.org/sirius/. Accessed 07 November 2014
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)
Marama. https://wiki.auckland.ac.nz/display/csidst/Welcome. Accessed 23 April 2014
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)
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
MetaCase Website. http://www.metacase.com/. Accessed 08 July 2015
Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)
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
Schmidt, C., Cramer, B., Kastens, U.: Generating visual structure editors from high-level specifications. Technical report, University of Paderborn, Germany (2008)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)