PhDOOS Logo

Supported by AITO.

These pages are currently maintained by Alex Potanin

 

Semantics of an object-oriented language through integration of structured algebraic specifications

Alexander Fronk
( german )

Software Technologie, Dortmund University
Baroper Strasse 310 44227 Dortmund
tel: 0231 / 755 4812
fax: 0231 / 755 2061
fronk@LS10.de

Keywords:

formal calculus language concepts multimedia applications software engineering algebraic semantics object-oriented hyperdocument construction

Abstract:

The work presented here contributes to requirements engineering for such hypermedia documents, or hyperdocuments for short, which consist of 1) mediaobjects such as texts or graphics, and 2) a link structure simple enough to be described easily and mechanically by regular expressions. Based on this `regularity'', object-oriented programs allow to modularly define and construct link structures. The programs are applied to concrete mediaobjects, thus generating individual hyperdocuments.

Such a program is understood as a collection of requirements to a hyperdocument, which are not allowed to conflict with general properties of the application domain, e.g. no dangling links, no two links leading from identical sources to identical targets. Because of their simplicity, both the application domain and the programs applied can be completely formalized through algebraic specifications the axioms of which are used to deduce further properties. Those properties are understood as `expectations'' to a hyperdocument. Both soundness of requirements and validity of expectations can be tested formally. That is, statements concerning a desired hyperdocument can be formalized and tested with mathematical preciseness in advance of the hyperdocument's physical incorporation. The pure incorporation only allows non- or semi-formal methods and tools to help detecting conflicts and shortcomings.

We provide a formal semantics of an object-oriented document description language, called DoDL [1], which allows the modular construction of hyperdocuments. Static aspects of classes and their relations as well as dynamic aspects of objects and types are studied and formalized regarding the application domain. Thereby, we aim at comprehending the object-oriented construction of hyperdocuments, which contrasts to their development through XML or HTML. Engineering suitable tools for this kind of development strategy is supported as well [2].

The integration of 1) simple algebraic specifications, and 2) hierachical specifications with 3) specifications with hidden symbols allows formalizing a program into a form as close as possible to the object-oriented structure the program provides. We transform classes, attributes, methods, aggregation, locality, genericity, and inheritance into suitable algebraic structures. Thereby, our approach differs from flat specifications as usually used in the literature: Subclasses with local classes, for example, are understood as an integration of hierarchical specifications with hidden symbols; attributes and methods are modelled through operations and axioms.

Many-sorted algebras serve as a mathematical model and establish a loose semantics. Structured specifications, and thus the classes of a program, are interpreted through their respective algebraic model classes. Objects, or class instances, are represented by suitable algebras respecting the axioms given and fulfilling the properties structured specifications demand. Such algebras allow to define the notions of object and type in a simple way. They also allow to easily check static aspects such as subtype relation, or dynamic aspects such as late binding of polymorphic methods.

The semantics presented here has been encoded within a compiler system [3] to realize the hyperdocument specified in a DoDL-program. The realization process is currently evaluated within some complex examples, which encompass modelling a multimedial car cockpit, and an electronic blank form used in hospitals to store data of patients under medical treatment.

Moreover, our approach is flexible enough to describe object-oriented languages in general. Further features than those used in DoDL but mandatory for any object-oriented language can be modelled easily. Such features include, for example, dynamic object creation at runtime, or restriction of variable and method scopes through packages.

Literature:

  1. E.-E. Doberkat: A Language for Specifying Hyperdocuments. Software - Concepts and Tools, Vol. 17, p. 163 - 172, April 1996
  2. A. Fronk: A Tool System for an Object-Oriented Approach to Construction and Maintenance of Hypermedia Documents. To appear in the proceedings of the 24.th conference of the german society for classification, GfKl, Passau, 2000.
  3. A. Fronk and J. Pleumann: Der DoDL-Compiler. Memorandum 100 at the Chair for Software-Technology, Dortmund University, 1999. ISSN 0933-7725. In german.

The PhD work started: 1998


The submitted work will probably not be presented in the
upcoming ECOOP PhD Workshop.


HTML3
JAVA

 


Last modified on Mon Aug 15 14:59:24 2005