Abstract
There are hardly two fields in Computer Science that are further apart than Software Engineering and Theoretical Computer Science. The lack of theoretical foundations in the field of Software Engineering has a counterpart, as the theoretical foundations have not caught up with the development of practical software systems. This raises the question how a theory of computation should look like that modernises the classical theory and at the same time is suitable for practical systems development. This article is dedicated to a sketch of a theory of computation centred around the notion of algorithmic systems. I will argue that behavioural theories are key to the understanding, i.e. we require language-independent axiomatic definitions of classes of algorithmic systems that are accompanied by abstract machine models provably capturing the class under consideration. The machine models give further rise to tailored logics through which properties of systems in the considered class can be formalised and verified, and to fine-tuned classifications on the grounds of complexity restrictions. All extensions are conservative in the sense that the classical theory of computation is preserved, universal in the sense that all practical developments are captured uniformly, and practical in the sense that languages associated with the abstract machine models can be used for rigorous high-level systems design and development, and the logics can be exploited for rigorous verification of desirable properties of systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Blass, A., Gurevich, Y., Shelah, S.: Choiceless polynomial time. Ann. Pure Appl. Logic 100, 141–187 (1999)
Börger, E.: Computability, Complexity, Logic, Studies in Logic and the Foundations of Mathematics, vol. 128. North-Holland (1989)
Börger, E.: The ASM refinement method. Formal Aspects Comput. 15(2–3), 237–257 (2003). https://doi.org/10.1007/s00165-003-0012-7
Börger, E.: The role of executable abstract programs for software development and documentation (2022, personal communication, to be published)
Börger, E., Durdanovic, I.: Correctness of compiling Occam to Transputer code. Comput. J. 39(1), 52–92 (1996). https://doi.org/10.1093/comjnl/39.1.52
Börger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Cham (2018). https://doi.org/10.1007/978-3-662-56641-1
Börger, E., Rosenzweig, D.: A mathematical definition of full Prolog. Sci. Comput. Program. 24(3), 249–286 (1995). https://doi.org/10.1016/0167-6423(95)00006-E
Börger, E., Schewe, K.-D.: Concurrent abstract state machines. Acta Informatica 53(5), 469–492 (2015). https://doi.org/10.1007/s00236-015-0249-7
Börger, E., Stärk, R.: Abstract State Machines. Springer, Heidelberg (2003)
Chandra, A.K., Harel, D.: Structure and complexity of relational queries. J. Comput. Syst. Sci. 25(1), 99–128 (1982). https://doi.org/10.1016/0022-0000(82)90012-5
Ferrarotti, F., Schewe, K.D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis. Theor. Comput. Sci. 649, 25–53 (2016). https://doi.org/10.1016/j.tcs.2016.08.013
Ferrarotti, F., Schewe, K.D., Tec, L., Wang, Q.: A complete logic for Database Abstract State Machines. Logic J. IGPL 25(5), 700–740 (2017)
Ferrarotti, F., Schewe, K.D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing – simplified parallel ASM thesis. Theor. Comput. Sci. 649, 25–53 (2016). https://doi.org/10.1016/j.tcs.2016.08.013
Gurevich, Y.: A new thesis (abstract). Am. Math. Soc. 6(4), 317 (1985)
Gurevich, Y.: Logic and the challenge of computer science. In: Börger, E. (ed.) Current Trends in Theoretical Computer Science, pp. 1–57. Computer Science Press (1988)
Gurevich, Y.: Evolving algebras 1993: Lipari guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press (1995)
Gurevich, Y.: Sequential abstract state machines capture sequential algorithms. ACM Trans. Comput. Logic 1(1), 77–111 (2000)
Naur, P., Randell, B.: Software Engineering, Report on a conference sponsored by the NATO Science Committee (1968)
Schewe, K.-D.: Computation on structures. In: Raschke, A., Riccobene, E., Schewe, K.-D. (eds.) Logic, Computation and Rigorous Methods. LNCS, vol. 12750, pp. 266–282. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-76020-5_15
Schewe, K.D., Ferrarotti, F.: Behavioural theory of reflective algorithms I: reflective sequential algorithms. CoRR abs/2001.01873 (2020). http://arxiv.org/abs/2001.01873
Schewe, K.-D., Ferrarotti, F.: A logic for reflective ASMs. In: Raschke, A., Méry, D., Houdek, F. (eds.) ABZ 2020. LNCS, vol. 12071, pp. 93–106. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-48077-6_7
Stärk, R., Nanchen, S.: A logic for abstract state machines. J. Univ. Comput. Sci. 7(11) (2001)
Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Cham (2001)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Schewe, KD. (2022). Practical Theory of Computation on Structures. In: Aït-Ameur, Y., Crăciun, F. (eds) Theoretical Aspects of Software Engineering. TASE 2022. Lecture Notes in Computer Science, vol 13299. Springer, Cham. https://doi.org/10.1007/978-3-031-10363-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-10363-6_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-10362-9
Online ISBN: 978-3-031-10363-6
eBook Packages: Computer ScienceComputer Science (R0)