Appendix H. Active Oberon for .NET: A Case Study in Language Model Mapping

Jürg Gutknecht

Appendix H credit: Jürg Gutknecht, ETH Zürich.

Active Oberon is a substantial evolution of the programming language Oberon. It distinguishes itself by a novel object model and by its integration into the .NET language interoperability framework.

The three concepts characterizing Active Oberon are: (1) active object types, (2) a single and unifying notion of abstraction called definition, and (3) a static module construct. These concepts are, in fact, powerful combinations of concepts: Active objects integrate active behavior with reactive message handling; definitions unify the units of usage, implementation, and inheritance; and modules represent both package and static object. The rigid concept of class hierarchy has been sacrificed in Active Oberon in favor of a more flexible concept of aggregation that is based on a generalized IMPLEMENTS relation. The relations IMPORTS and REFINES are used to specify static module dependencies and to derive new definitions from existing ones, respectively.

Active Oberon also features a block statement that is used to group sets of statements sharing certain processing attributes—in particular, the handling of exceptions. Finally, a USES clause allows the use of namespaces within a module without qualification.

This appendix is a report on a work in progress. We divide our presentation into three parts: (1) a short recall of the history of programming languages developed at the ETH, (2) a conceptual overview of Active Oberon's object model called the Active Object System (AOS), and (3) a discussion of the mapping of the AOS into the Common Type System (CTS) exposed by .NET.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset