Exploiting Abstraction for Specification Reuse. The Java/C# Case Study
نویسندگان
چکیده
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].
منابع مشابه
A Strict Approach to Information Hiding in Object-oriented Languages
Class-based object-oriented languages traditionally fuse the notions of type and implementation in the class construct. Software engineering methods, on the other hand, clearly separate type specifications from their possible implementations. In connection with inheritance the fusion of types and implementations results in either subtyping problems or restricted code reuse and forces type abstr...
متن کاملA Behavioral Subtyping, Specification Inheritance, and Modular Reasoning
Verification of a dynamically-dispatched method call, E .m(), seems to depend on E ’s dynamic type. To avoid case analysis and allow incremental development, object-oriented program verification uses supertype abstraction. That is, one reasons about E .m() using m’s specification for E ’s static type. Supertype abstraction is valid when each subtype in the program is a behavioral subtype. This ...
متن کاملFormal Semantics of Model Fields in Annotation-based Specifications Inspired by a Generalization of Hilbert's Epsilon Terms
It is widely recognized that abstraction and modularization are indispensable for specification of real-world programs. In source-code level program specification languages, such as the Java Modeling Language (JML) [3], model fields [4] are a common means for achieving abstraction and information hiding. However, there is yet no well-defined formal semantics for the general case in which the ab...
متن کاملDeveloping and Debugging Algebraic Specifications for Java Classes ; CU-CS-984-04
Modern programs make extensive use of reusable software libraries. For example, a study of a number of large Java applications shows that between 17% and 30% of the classes in those applications use container classes defined in the java.util package. Given this extensive code reuse in Java programs, it is important for the interfaces of reusable classes to be well documented. An interface is we...
متن کاملSpecifying Downloadable Properties for Reusing Software Components: A Case Study of Java
In this paper, we propose a specification of software components which can be loaded not only from your local system but also from the other systems over the computer network. Because components from the other system are not always enough reliable or safe to act freely in your own system, you should limit their activities to a certain context. Because some existing systems like Java RMI and an ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003