1. A framework for conceptual modeling in OOP
- Author
-
Al-Ahmad, Walid
- Subjects
- *
JAVA programming language , *COMPUTER programming , *PROGRAMMING languages , *C (Computer program language) , *LISKOV substitution principle - Abstract
Abstract: There are several language constructs and mechanisms that provide some sort of support for conceptual modeling in object-oriented programming: the Liskov substitution principle, the Meyer programming by contract, the Beta inner construct, interfaces in C# and Java, and the separation of subtype hierarchies from subclass hierarchies as in Timor and Sather. All these mechanisms and constructs are powerful and useful tools to enforce the conceptual modeling trait of the inheritance mechanism in object-oriented programming. Their purpose is to ensure semantic compatibility of classes related by an inheritance hierarchy. When applied independently, these mechanisms can lead to more correct inheritance hierarchies that are easy to understand, use, and extend. This article discusses the different mechanisms and studies the interaction between them. It investigates whether conceptual modeling can be satisfactorily achieved by using such tools. It will be shown that the interaction between these tools might lead to contradictions and might prevent legitimate inheritance hierarchies. This article proposes a framework for a conceptual modeling mechanism that will better support conceptual modeling at the language level. [Copyright &y& Elsevier]
- Published
- 2006
- Full Text
- View/download PDF