Abstract
From the models provided in [14] and [4] for the semantics of Java and C# programs we abstract the mathematical structure that underlies the semantics of both languages. The resulting model reveals the kernel of object-oriented programming language constructs and can be used for teaching them without being bound to a particular language. It also allows us to identify precisely some of the major differences between Java and C#.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Awhad, V., Wallace, C.: A unified formal specification and analysis of the new Java memory models. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 166–185. Springer, Heidelberg (2003)
Börger, E.: The ASM refinement method. Formal Aspects of Computing 15, 237–257 (2003)
Börger, E., Bolognesi, T.: Remarks on turbo ASMs for computing functional equations and recursion schemes. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 218–228. Springer, Heidelberg (2003)
Börger, E., Fruja, N.G., Gervasi, V., Stärk, R.: A high-level modular definition of the semantics of C_. Theoretical Computer Science (2004)
Börger, E., Stärk, R.F.: Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)
Doh, K.G., Mosses, P.D.: Composing programming languages by combining action-semantics modules. Science of Computer Programming 47(1), 3–36 (2003)
C# Language Specification. Standard ECMA–334 (2001), http://www.ecma-international.org/publications/standards/ECMA-334.HTM
Fruja, N.G.: The correctness of the definite assignment analysis in C#. In: Skala, V., Nienaltowski, P. (eds.) Proc. 2nd International Workshop on.NET Technologies, Plzen, Czech Republic, pp. 81–88 (2004) ISBN 80–903100–4–4
Fruja, N.G.: Specification and implementation problems for C#. In: Zimmermann, W., Thalheim, B. (eds.) ASM 2004. LNCS, vol. 3052, pp. 127–143. Springer, Heidelberg (2004)
Fruja, N.G., Stärk, R.F.: The hidden computation steps of turbo Abstract State Machines. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 244–262. Springer, Heidelberg (2003)
Gurevich, Y.: Evolving algebras 1993: Lipari Guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)
Mosses, P.: Definitive semantics. Version 0.2 of Lecture Notes made (May 2003), available at http://www.mimuw.edu.pl/mosses/DS-03
Stärk, R.F., Börger, E.: An ASM specification of C# threads and the.NET memory model. In: Zimmermann, W., Thalheim, B. (eds.) ASM 2004. LNCS, vol. 3052, pp. 38–60. Springer, Heidelberg (2004)
Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine— Definition, Verification, Validation. Springer, Heidelberg (2001)
Zimmermann, W., Dold, A.: A framework for modeling the semantics of expression evaluation with Abstract State Machines. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 391–406. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Börger, E., Stärk, R.F. (2004). Exploiting Abstraction for Specification Reuse. The Java/C# Case Study. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, WP. (eds) Formal Methods for Components and Objects. FMCO 2003. Lecture Notes in Computer Science, vol 3188. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30101-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-30101-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22942-1
Online ISBN: 978-3-540-30101-1
eBook Packages: Springer Book Archive