The Subject-Oriented Approach to Software Design and the Abstract State Machines Method

  • Egon Börger
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 104)

Abstract

In [33, Appendix] we have shown that the system which implements the Subject-oriented approach to Business Process Modeling (S-BPM) has a precise semantical foundation in terms of Abstract State Machines (ASMs). The construction of an ASM model for the basic S-BPM concepts revealed a strong relation between S-BPM and the ASM method for software design and analysis. In this paper we investigate this relation more closely. We use the analysis to evaluate S-BPM as an approach to business process modeling and to suggest some challenging practical extension of the S-BPM system.

Keywords

Ground Model Software Product Line Abstract State Machine Universal Computer Evolve Algebra 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    van der Aalst, W., ter Hofstede, A.: Workflow patterns home page (created and maintained since 1999), http://www.workflowpatterns.com/
  2. 2.
    Abrial, J.R.: The B-Book. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  3. 3.
    Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)MATHGoogle Scholar
  4. 4.
    Batory, D., Börger, E.: Modularizing theorems for software product lines: The Jbook case study. J. Universal Computer Science 14(12), 2059–2082 (2008)Google Scholar
  5. 5.
    Börger, E.: A Logical Operational Semantics for Full Prolog. Part I: Selection Core and Control. In: Börger, E., Kleine Büning, H., Richter, M.M. (eds.) CSL 1989. LNCS, vol. 440, pp. 36–64. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  6. 6.
    Börger, E.: A Logical Operational Semantics of Full Prolog. Part II: Built-in Predicates for Database Manipulation. In: Rovan, B. (ed.) MFCS 1990. LNCS, vol. 452, pp. 1–14. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  7. 7.
    Börger, E.: A logical operational semantics for full Prolog. Part III: Built-in predicates for files, terms, arithmetic and input-output. In: Moschovakis, Y.N. (ed.) Logic From Computer Science, Berkeley Mathematical Sciences Research Institute Publications, pp. 17–50. Springer, Heidelberg (1992)Google Scholar
  8. 8.
    Börger, E.: Logic programming: The Evolving Algebra approach. In: Pehrson, B., Simon, I. (eds.) IFIP 13th World Computer Congress. Technology/Foundations, vol. I, pp. 391–395. Elsevier, Amsterdam (1994)Google Scholar
  9. 9.
    Börger, E.: Why Use Evolving Algebras for Hardware and Software Engineering? In: Bartosek, M., Staudek, J., Wiedermann, J. (eds.) SOFSEM 1995. LNCS, vol. 1012, pp. 236–271. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  10. 10.
    Börger, E.: Evolving Algebras and Parnas tables. In: Ehrig, H., von Henke, F., Meseguer, J., Wirsing, M. (eds.) Specification and Semantics. Dagstuhl Seminar No. 9626, Schloss Dagstuhl. Int. Conf. and Research Center for Computer Science (July 1996)Google Scholar
  11. 11.
    Börger, E.: High-Level System Design and Analysis Using Abstract State Machines. In: Hutter, D., Stephan, W., Traverso, P., Ullmann, M. (eds.) FM-Trends 1998. LNCS, vol. 1641, pp. 1–43. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Börger, E.: The origins and the development of the ASM method for high-level system design and analysis. J. Universal Computer Science 8(1), 2–74 (2002)Google Scholar
  13. 13.
    Börger, E.: The ASM Ground Model Method as a Foundation of Requirements Engineering. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 145–160. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Börger, E.: The ASM refinement method. Formal Aspects of Computing 15, 237–257 (2003)MATHCrossRefGoogle Scholar
  15. 15.
    Börger, E.: Construction and analysis of ground models and their refinements as a foundation for validating computer based systems. Formal Aspects of Computing 19, 225–241 (2007)MATHCrossRefGoogle Scholar
  16. 16.
    Börger, E.: Approaches to modeling business processes. A critical analysis of BPMN, workflow patterns and YAWL. J. Software and Systems Modeling (2011), doi:10.1007/s10270-011-0214-zGoogle Scholar
  17. 17.
    Börger, E., Cisternino, A., Gervasi, V.: Ambient Abstract State Machines with applications. J. Computer and System Sciences (2011); special Issue in honor of Amir Pnueli, http://dx.doi.org/10.1016/j.jcss.2011.08.004
  18. 18.
    Börger, E., Dässler, K.: Prolog: DIN papers for discussion. ISO/IEC JTCI SC22 WG17 Prolog Standardization Document 58. National Physical Laboratory, Middlesex, England (1990)Google Scholar
  19. 19.
    Börger, E., Durdanović, I.: Correctness of compiling Occam to Transputer code. Computer Journal 39(1), 52–92 (1996)CrossRefGoogle Scholar
  20. 20.
    Börger, E., Fruja, G., Gervasi, V., Stärk, R.: A high-level modular definition of the semantics of C#. Theoretical Computer Science 336(2-3), 235–284 (2005)MathSciNetMATHCrossRefGoogle Scholar
  21. 21.
    Börger, E., Gargantini, A., Riccobene, E.: Abstract State Machines. A method for system specification and analysis. In: Frappier, M., Habrias, H. (eds.) Software Specification Methods: An Overview Using a Case Study, pp. 103–119. HERMES Sc. Publ. (2006)Google Scholar
  22. 22.
    Börger, E., Päppinghaus, P., Schmid, J.: Report on a Practical Application of ASMs in Software Design. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 361–366. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  23. 23.
    Börger, E., Prinz, A.: Quo Vadis Abstract State Machines? J. Universal Computer Science 14(12), 1921–1928 (2008)Google Scholar
  24. 24.
    Börger, E., Rosenzweig, D.: From Prolog Algebras Towards WAM – a Mathematical Study of Implementation. In: Schönfeld, W., Börger, E., Kleine Büning, H., Richter, M.M. (eds.) CSL 1990. LNCS, vol. 533, pp. 31–66. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  25. 25.
    Börger, E., Rosenzweig, D.: WAM Algebras – a Mathematical Study of Implementation, Part 2. In: Voronkov, A. (ed.) RCLP 1990 and RCLP 1991. LNCS, vol. 592, pp. 35–54. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  26. 26.
    Börger, E., Rosenzweig, D.: The WAM – definition and compiler correctness. In: Beierle, C., Plümer, L. (eds.) Logic Programming: Formal Methods and Practical Applications, Studies in Computer Science and Artificial Intelligence, ch. 2, vol. 11, pp. 20–90. North-Holland (1995)Google Scholar
  27. 27.
    Börger, E., Stärk, R.F.: Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  28. 28.
    Delaware, B., Cook, W., Batory, D.: Product lines of theorems. In: Proc. OOPSLA 2011, Portland (October 2011)Google Scholar
  29. 29.
    Denning, P.J., Martell, C.: Great principles of computing (2007), http://cs.gmu.edu/cne/pjd/GP/GP-site/welcome.html (consulted July 26, 2011)
  30. 30.
    Farahbod, R., et al.: The CoreASM Project, http://www.coreasm.org
  31. 31.
    Fleischmann, A.: Distributed Systems: Software Design and Implementation. Springer, Heidelberg (1994)MATHGoogle Scholar
  32. 32.
    Fleischmann, A.: Sbpm2NatLang converter. e-mail of September 8 to Egon Börger (2011)Google Scholar
  33. 33.
    Fleischmann, A., Schmidt, W., Stary, C., Obermeier, S., Börger, E.: Subjektorientiertes Prozessmanagement. Hanser-Verlag, München (2011); see [63] for a correct version of the appendixGoogle Scholar
  34. 34.
    Fleischmann, A., Stary, C.: Whom to talk to? A stakeholder perspective on business process development. Universal Access in the Information Society, 1-26 (June 2011), doi: 10.1007/s10209-011-0236-xGoogle Scholar
  35. 35.
    Frappier, M., Habrias, H. (eds.): Software Specification Methods: An Overview Using a Case Study. HERMES Sc. Publ., Paris (2006)Google Scholar
  36. 36.
    Fruja, N.G.: Type Safety of C# and .NET CLR. Ph.D. thesis, ETH Zürich (2006)Google Scholar
  37. 37.
    Fruja, N.G.: Towards proving type safety of .net cil. Science of Computer Programming 72(3), 176–219 (2008)MathSciNetMATHCrossRefGoogle Scholar
  38. 38.
    Fruja, N.G., Börger, E.: Modeling the .NET CLR Exception Handling Mechanism for a Mathematical Analysis. Journal of Object Technology 5(3), 5–34 (2006), http://www.jot.fm/issues/issue_2006_04/article1 CrossRefGoogle Scholar
  39. 39.
    Gurevich, Y.: Reconsidering Turing’s Thesis: Toward more realistic semantics of programs. Technical Report CRL-TR-36-84, EECS Department, University of Michigan (September 1984)Google Scholar
  40. 40.
    Gurevich, Y.: A new thesis. Abstracts, American Mathematical Society 6(4), 317 (1985)Google Scholar
  41. 41.
    Gurevich, Y.: Evolving algebras 1993: Lipari Guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press (1995)Google Scholar
  42. 42.
    Gurevich, Y.: Interactive algorithms 2005 with added appendix. In: Goldin, D., Smolka, S.A., Wegner, P. (eds.) Interactive Computation: The New Paradigm, pp. 165–182. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  43. 43.
    Hoare, C.A.R., Misra, J., Leavens, G.T., Shankar, N.: The verified software initiative: a manifesto. ACM Computing Surveys (2009)Google Scholar
  44. 44.
    Hoare, C.: Communicating Sequential Processes. Prentice Hall (1985)Google Scholar
  45. 45.
    ter Hofstede, A., van der Aalst, W., Adams, M., Russell, N. (eds.): Modern Business Process Automation. Springer, Heidelberg (2010)Google Scholar
  46. 46.
    Kim, C.H.P., Batory, D., Khurshid, S.: Reducing combinatorics in testing product lines. In: Proc. Aspect Oriented Software Development Conference. ACM (2011)Google Scholar
  47. 47.
    Knuth, D.: Literate Programming, CSLI Lecture Notes, vol. 27. Center for the Study of Language and Information, Stanford (1992)Google Scholar
  48. 48.
    Metasonic: Metasonic-suite, http://www.metasonic.de/metasonic-suite
  49. 49.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  50. 50.
    OMG: Business Process Model and Notation (BPMN) (2011), http://www.omg.org/spec/BPMN/2.0 (formal, January 03, 2011)
  51. 51.
    Parnas, D.L., Madey, J.: Functional documents for computer systems. Sci. of Comput. Program. 25, 41–62 (1995)CrossRefGoogle Scholar
  52. 52.
    Schellhorn, G.: Verifikation abstrakter Zustandsmaschinen. Ph.D. thesis, Universität Ulm, Germany (1999)Google Scholar
  53. 53.
    Schellhorn, G.: Verification of ASM refinements using generalized forward simulation. J. Universal Computer Science 7(11), 952–979 (2001)MathSciNetGoogle Scholar
  54. 54.
    Schellhorn, G.: ASM refinement and generalizations of forward simulation in data refinement: A comparison. Theoretical Computer Science 336(2-3), 403–436 (2005)MathSciNetMATHCrossRefGoogle Scholar
  55. 55.
    Schellhorn, G., Ahrendt, W.: Reasoning about Abstract State Machines: The WAM case study. J. Universal Computer Science 3(4), 377–413 (1997)MathSciNetMATHGoogle Scholar
  56. 56.
    Schellhorn, G., Ahrendt, W.: The WAM case study: Verifying compiler correctness for Prolog with KIV. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction – A Basis for Applications. Applications, vol. III, pp. 165–194. Kluwer Academic Publishers (1998)Google Scholar
  57. 57.
    Semiconductor Industry Assoc.: International technologoy roadmap for semiconductors. Design (2005), http://www.itrs.net/Links/2005ITRS/Design2005.pdf
  58. 58.
    Sneed, S.H.: Exporting Natural Language: Generating NL Sentences Out of S-BPM Process Models. In: Fleischmann, A., Schmidt, W., Singer, R., Seese, D. (eds.) S-BPM ONE 2010. CCIS, vol. 138, pp. 163–179. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  59. 59.
    Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Heidelberg (2001)MATHGoogle Scholar
  60. 60.
    Tarski, A.: Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica 1, 261–405 (1936)Google Scholar
  61. 61.
    Uzuncaova, E., Khurshid, S., Batory, D.: Incremental test generation for software product lines. IEEE Transactions on Software Engineering 36(3), 309–322 (2011)CrossRefGoogle Scholar
  62. 62.
    Wirth, N.: Algorithms & Data Structures. Prentice-Hall (1975)Google Scholar
  63. 63.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Egon Börger
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations