Empirical assessment of object-oriented implementations with multiple inheritance and static typing

2009 ◽  
Vol 44 (10) ◽  
pp. 41-60 ◽  
Author(s):  
Roland Ducournau ◽  
Floréal Morandat ◽  
Jean Privat
Author(s):  
Martin Hardwick ◽  
Blair R. Downie

Abstract Concurrent engineering seeks to reduce the length of the design life cycle by allowing multiple engineers to work on a design concurrently using their different design tools. A major stumbling block in achieving this goal is that most design tools use different file formats. Emerging standards such as STEP/PDES/EXPRESS reduce this barrier, but conformance to standards is not enough. One reason design tools have different file formats is because each tool requires a different perspective or view of the design. Engineering databases must provide designers with the ability to define application specific views of design data, and the ability to propagate changes among those related views. In this paper, we examine how an object-oriented database system can support the definition of application views using a class hierarchy and multiple inheritance.


Author(s):  
Chi-Ming Chung ◽  
Timothy K. Shih ◽  
Chun-Chia Wang ◽  
Ming-Chi Lee

Software testing methodologies and metrics are key issues to improve and assure software quality. They are important areas in the research of Software Engineering. However, not many focus on the testing criteria and metrics evaluation of a class hierarchy. This paper introduces an important concept named URI (Unit Repeated Inheritance) to realize integrated object-oriented testing and object-oriented metrics. The approach describes an ILT (Inheritance Level Technique) method as a guide to test object-oriented software errors and measure the software complexity of a class hierarchy. The proposed technique shows that inheritance has a close relation to object-oriented software complexity and reveals that overuse of repeated(multiple) inheritance will increase software complexity and be prone to implicit software errors. Also, two test criteria: intra level first and inter level first are presented.


2010 ◽  
Vol 20 (3-4) ◽  
pp. 303-352 ◽  
Author(s):  
BRUNO C. D. S. OLIVEIRA ◽  
JEREMY GIBBONS

AbstractDatatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the form of type constructors such as ‘list of’. Most approaches to DGP are developed in pure functional programming languages such as Haskell. We argue that the functional object-oriented language Scala is in many ways a better choice. Not only does Scala provide equivalents of all the necessary functional programming features (such as parametric polymorphism, higher-order functions, higher-kinded type operations, and type- and constructor-classes), but it also provides the most useful features of object-oriented languages (such as subtyping, overriding, traditional single inheritance, and multiple inheritance in the form of traits). Common Haskell techniques for DGP can be conveniently replicated in Scala, whereas the extra expressivity provides some important additional benefits in terms of extensibility and reuse. We illustrate this by comparing two simple approaches in Haskell, pointing out their limitations and showing how equivalent approaches in Scala address some of these limitations. Finally, we present three case studies on how to implement in Scala real DGP approaches from the literature: Hinze's ‘Generics for the Masses’, Lämmel and Peyton Jones's ‘Scrap your Boilerplate with Class’, and Gibbons's ‘Origami Programming’.


1991 ◽  
Vol 20 (355) ◽  
Author(s):  
Jens Palsberg ◽  
Michael I. Schwartzbach

We develop a theory of statically typed object-oriented languages. It represents classes as labeled, regular trees, types as finite sets of classes, and subclassing as a partial order on trees. We show that our subclassing order strictly generalizes inheritance, and that a novel genericity mechanism arises as an order-theoretic complement. This mechanism, called class substitution, is pragmatically useful and can be implemented efficiently.


Sign in / Sign up

Export Citation Format

Share Document