| K.J. Lieberherr and C. Xiao, "Formal Foundations for ObjectOriented Data Modeling," IEEE Trans. Knowledge and Data Eng., vol. 5, no. 3, pp. 462-478, June 1993. |
....CCR 9102578 (1991 93) Title: Abstractions for Organizing Classes The key result of this grant is a new method to develop software based on delayed binding of methods to classes. Software becomes smaller and extensibility is improved. This research has resulted in the following publications: LX93a, LX93c, Hol92, LHSX92, Lie92a, LSX92, LX93b, LSX94, SHS94, Lie96, Kes93, Sil93b, Sil93a, BH93, HLM93, LHX94, LZHL94] ffl NSF Grant MCS80 04490 (1980 1982) NSF Grant MCS82 01878 (1982 1983) Title: Combinatorial Optimization and Search Problems The key contributions of this work are: 1. A ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
.... the project either a class dictionary graph is extracted manually or objects are defined which are then abstracted by the learning tool into a class dictionary graph[LBSL91, BL91] The class dictionary graph is then checked whether it satisfies the axioms, and it is made inductive, if necessary [LX91a] Optimization [LBSL91, LBSL90] and normalization [Lie88] conclude the class dictionary graph transformations. The class dictionary graph is then extended into a class dictionary by adding terminals. The resulting class dictionary is checked for the LL(1) conditions [LX91b, Lie88] To debug the ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1991. accepted for publication.
.... Parameter Passing Cristina Videira Lopes Northeastern University College of Computer Science Boston, MA 02115, USA Tel: 617) 373 5204; Fax: 617) 373 5121 email: crista ccs.neu.edu February 27, 1995 Abstract Parameter passing is one of the main problems in distributed object oriented applications. Passing objects by global reference is very inefficient, since the proliferation of global ....
....in section 5 we analyze some related work. Finally, section 6 summarizes and concludes this paper. 2 Basics In this section we describe the basics of GOOP, our graph language, without considering any aspects of distribution. The concepts described here are a subset of the Demeter System C [26, 15, 14, 24] GOOP uses the same class graphs as Demeter. As for the class implementations, GOOP uses C methods directly, instead of the Demeter propagation patterns. 2.1 Class Graphs The structural aspects of GOOP applications are described by class graphs, where vertices represent classes and ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
.... Parameter Passing Cristina Videira Lopes Northeastern University College of Computer Science Boston, MA 02115, USA Tel: 617) 373 5204; Fax: 617) 373 5121 email: crista ccs.neu.edu Submitted to ISOTAS 96 Copyright c fl1995 by the author. All rights reserved. Abstract Parameter passing is one of the main problems in distributed object oriented applications. The two simplest solutions passing objects by global ....
.... Parameter Passing Cristina Videira Lopes Northeastern University College of Computer Science Boston, MA 02115, USA Tel: 617) 373 5204; Fax: 617) 373 5121 email: crista ccs.neu.edu Submitted to ISOTAS 96 Copyright c fl1995 by the author. All rights reserved. Abstract Parameter passing is one of the main problems in distributed object oriented applications. The two simplest solutions passing objects by global reference and passing ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
.... the project either a class dictionary graph is extracted manually or objects are defined which are then abstracted by the learning tool into a class dictionary graph[LBSL91, BL91] The class dictionary graph is then checked whether it satisfies the axioms, and it is made inductive, if necessary [LX91a] Optimization [LBSL91, LBSL90] and normalization [Lie88] conclude the class dictionary graph transformations. The class dictionary graph is then extended into a class dictionary by adding terminals. The resulting class dictionary is checked for the LL(1) conditions [LX91b, Lie88] To debug the ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1991. accepted for publication.
....specifications. We provide an overview of the EVOLVE methodology and implementation framework in Section 5. The paper end by a comparison of the EVOLVE development with the related work and a summary in Section 6. 2 The Reference Object Model We use the kernel of the Demeter data model [LX93] as our reference object model because this allows us to show how the reuse mechanisms such as propagation patterns and propagation pattern refinement can directly be made available using an existing tool: the Demeter System C TM ( LR88] Lie94] Time Ident departure arrival locations ....
....violation to the axiom 3 include, for instance, the renaming mechanism for Eiffel and the mechanisms proposed in literature for resolution of name conflicts of multiple inheritance. This axiom has been widely used in many object oriented models that support subtype inheritance (cf. BCG 87, LX93] The style rules for good use of inheritance concept presents a design guideline to encourage abstraction of common components among classes by promoting inheritance along specialization hierarchy, and to advocate minimization of multiple inheritance used in a schema graph. Therefore, for any ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
....6 we analyze some related work. Finally, section 7 summarizes and concludes this paper. 2 Basics In this section we describe the basics of GOOP, our graph language, without considering any aspects of distribution. The concepts described here are similar to the ones of the Demeter System C [28, 17, 16, 26], but with some important simplifications. GOOP uses a simplified version of the Demeter class graphs that follows roughly the design graphs of OMT [27] As for the class implementations, GOOP uses C methods. 2.1 Class Graphs The structural aspects of GOOP applications are described by class ....
....implementation strategy of synchronization patterns [20] namely the fact that the parameter passing scheme as the synchronization scheme is defined separately from the class implementation. It also shares, with some simplifications, the basic class graphs and graph algorithms with Demeter [17, 28]. The motivation behind this work is the same as the motivation for open implementation [13] Both lines of research call for application oriented customizations of the underlying system. Our work consists of a simple declarative meta language, as suggested by the open implementation community. In ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
....Object Oriented Patterns. 2 Class Graphs for Distributed Applications The structural aspects of GOOP applications are described by class graphs, where vertices represent classes and edges represent relations between classes. Detailed information about the GOOP class graphs can be found in [7, 9]. For distributed applications, I extended the basic graph entities with the concept of remote vertex. A remote vertex indicates that the objects of that class provide remote services, i.e. they are server objects. Any vertex in a graph can be defined as remote, and for that they simply need to be ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
No context found.
K.J. Lieberherr and C. Xiao, "Formal Foundations for ObjectOriented Data Modeling," IEEE Trans. Knowledge and Data Eng., vol. 5, no. 3, pp. 462-478, June 1993.
....Propagation Pattern Programming Tool [LHSLX92] ffl Component Enhancement: An Adaptive Reusability Mechanism for Groups of Collaborating Classes [Lie92] Theory of class dictionary graphs, components 55 56 CHAPTER 7. FURTHER READING ffl Formal Foundations for Object Oriented Data Modeling [LX93b] ffl Object Oriented Schema Extension and Abstraction [HLM93] ffl Incremental Class Dictionary Learning and Optimization [BL91] ffl From objects to classes: Algorithms for object oriented design [LBSL91] Law of Demeter ffl Assuring Good Style for Object Oriented Programs [LH89] ffl ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(6), June 1993.
....to many of these data models we use an object oriented kernel model which is simple enough to be easily generalized to other data models and yet is able to capture the key features of the object oriented paradigm. As a good canditate for this kernel model we chose the Demeter data model [LX93b, SLHS94] and adapted it slightly to suit our needs, mainly to move its terminology into the object oriented mainstream. The kernel model will be used in most parts of the thesis. This section provides an overview of the object oriented kernel model. As in all object oriented systems, the ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(6), June 1993.
....for the optimization phase and leads to a better understanding and a partial automation of the object oriented design process. The algorithms and the theory presented in this paper have been implemented in the C Demeter System, a CASE tool for object oriented design and programming. 5. LX91a] We give an axiomatic definition of the basic structure, called a class dictionary graph, used by objectoriented designers and programmers during the software development process and we provide efficient algorithms for checking whether a given data model satisfies the axioms. The presented data ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1991. accepted for publication.
....the following new material which has not been included in other papers on the Demeter System: 1. Succinct representation of submodels of data models (the propagation directive calculus) 2. A precise definition of growth plans based on the definition of partial class dictionary graphs in [LX93] 3. The concept of a minimally adequate test set for a growth plan. We reuse the definition of class dictionary graphs from [LX93, Ber91, LBSL91] of object graphs from [LX93, LBSL91] of semi and partial class dictionary graphs from [LX93] and of simple propagation directives from [LXSL91] ....
....submodels of data models (the propagation directive calculus) 2. A precise definition of growth plans based on the definition of partial class dictionary graphs in [LX93] 3. The concept of a minimally adequate test set for a growth plan. We reuse the definition of class dictionary graphs from [LX93, Ber91, LBSL91] of object graphs from [LX93, LBSL91] of semi and partial class dictionary graphs from [LX93] and of simple propagation directives from [LXSL91] The rest of the paper is organized as follows: Section 2 reviews a sequence of three increasingly more specific graph structures for ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1993.
....as a class dictionary graph and by reusing this graph in propagation patterns to formulate the functionality of an application. Propagation patterns are described formally in [LXSL91] and generalized propagation directives in [LX93a] Class dictionary graphs are described in detail in [LX93b, BL91, Ber91] As a convenience to the reader, all papers are available by anonymous ftp [LBH 91] The full featured demonstration version of the Demeter Tools C , containing the fourth implementation of the propagation pattern tool, is also available by ftp after you sign a license ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1993.
....hand sides of the class definitions, since they are predefined terminal classes. The class dictionary is checked by the design rule checker against several rules. Some of the rules are ffl Every class is defined exactly once. ffl There are no inheritance cycles. ffl The Inductiveness Property [54]. The Inductiveness Property says that every cycle in a class dictionary must have a way out so that we can still build large objects inductively and incrementally from simpler objects. From the grammar s aspect, the Inductive Property eliminates useless symbols described in [32, page 88] ffl ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
....result of this grant is a new method to develop software based on delayed binding of methods to classes. The software becomes adaptive as illustrated later in the project description. Software becomes smaller and extensibility is improved. This research has resulted in the following publications: LX93a, LX93c, Hol92, LHSLX92, Lie92a, LSLX92, LX93b, LSLX93, SLHS94, Lie94, Kes93, SL93b, SL93a, BH93, HLM93, LHX93, LZHL94] The research has resulted in a book and educational software, both to be published in 1994 by PWS Publishing Company. A significant number of graduate students have contributed ....
....the family of programs we have written in Fig. 4. For this purpose, we need to find a class structure which satisfies the constraints: A path from class Trip to class Location and a departure and arrival attribute at class Trip. The path concept is used informally here and is formally defined in [LX93a, LX93c] There are infinitely many such class structures since the propagation pattern is expressed with minimal knowledge of the class structure to keep the software robust under changes. Two compatible class structures are shown in Figs. 5 and 6. The first customizer is for a travel agency ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
.... normalize make inductive modify check optimize Figure 1: Use of class dictionary graphs are then abstracted by the learning tool into a class dictionary graph[LBSL91, BL91] The class dictionary graph is then checked whether it satisfies the axioms, and it is made inductive, if necessary [LX91a] Optimization [LBSL91, LBSL90] and normalization [Lie88] conclude the class dictionary graph transformations. The class dictionary graph is then extended into a class dictionary by adding terminals. The resulting class dictionary is checked for the LL(1) conditions [LX91b, Lie88] To debug the ....
....class dictionaries [Lie88] LR88] LH89b] LR89] This paper contains the following new material with respect to our earlier papers on the Demeter system: 1. semi class dictionary graphs. 2. an axiomatic, graph theoretic foundation for class dictionaries (some earlier papers [LBSL91, LBSL90, LX91a] introduce class dictionary graphs only, while others introduce class dictionaries only informally [Lie88, LR89] 3. a formal description of the connection between class dictionaries and languages. 4. the LL(1) requirement are derived from a bijection condition between objects and sentences. 5. a ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1991. accepted for publication.
....a class dictionary defines a grammar for a domain specific language. 3 This paper introduces the following new material which has not been included in other papers on the Demeter System: 1. A precise definition of growth plans based on the definition of partial class dictionary graphs in [LX91]. We define growth plans both from an object and class point of view and we distinguish between top down and other growth plans. 2. The concept of a minimally adequate growth plan in the object view for a growth plan in the class view. 3. A detailed discussion of numerous applications of growth ....
....and other growth plans. 2. The concept of a minimally adequate growth plan in the object view for a growth plan in the class view. 3. A detailed discussion of numerous applications of growth plans, e.g. to implementing object oriented code. We reuse the definition of class dictionary graphs from [LX91, BL91, Ber91, LBSL91], of object graphs from [LX91, LBSL91] of partial class dictionary graphs from [LX91] and of the learning algorithm from [LBSL91, BL91] 2 Growth plans A growth plan is defined with respect to a class dictionary graph. For a concise introduction to class dictionary graphs, please read the ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1991. accepted for publication.
....the propagation pattern add syntax Figure 1: Software engineering using the Demeter Method of legal objects, including the identified ones, through relationships between classes. The class dictionary graph is then checked whether it satisfies the axioms, and it is made inductive, if necessary [LX93b] Optimization [LBSL91, LBSL90] and normalization [Lie88] conclude the class dictionary graph transformations. A class dictionary graph defines a class library which contains basic methods for manipulating the objects defined by the class dictionary graph. To allow for short descriptions of ....
....of the class grammar connection in a sophisticated way [Lie88] LR88] LH89] LR89] This paper contains the following new material with respect to our earlier papers on the Demeter method: 1. an axiomatic, graph theoretic foundation for class dictionaries (some earlier papers [LBSL91, LBSL90, LX93b] introduce class dictionary graphs only, while others introduce class dictionaries only informally [Lie88, LR89] 2. a formal description of the connection between class dictionaries and languages. 3. the LL(1) conditions from language theory[ASU86] are generalized for class dictionaries. The ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1993.
....are analyzed too. We introduce the mechanism for propagation pattern refinement in Section 4 and compare our approach with related work in Section 5. Section 6 concludes with a summary and future research directions. 2 2 The Reference Object Model We use the kernel of the Demeter data model [LX93] as our reference object model because this allows us to show how our polymorphic approach is directly available using an existing tool: the Demeter System C TM [LR88, LH89, HSX91, Lie94] In the object reference model, we describe the structure of objects and classes in terms of a class ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3), June 1993.
....and a number of examples for illustration. We compare our approach with related work in Section 5. Section 6 concludes with a summary and a discussion on implementation considerations as well as further research directions. 2 The Reference Object Model We use the kernel of the Demeter data model [16] as our reference object model because this allows us to show how our polymorphic approach is directly available using an existing tool: the Demeter System C TM ( 11] 12] 19] In the object reference model, we describe the structure of objects and classes in terms of a class dictionary ....
K. J. Lieberherr and C. Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
....need not be concerned with a class belonging to a collection when designing such a class and (2) all the functionality common to container classes, such as iteration, appending, and element count can be abstracted into a single class. Class dictionary graphs are defined formally in [LBSL91, LX93b] Let the class dictionary graph in Fig. 4 be a customizer for the propagation pattern in Fig. 3, which specifies the computeSalary adaptive program. First, we verify that the class dictionary graph satisfies the constraints in the adaptive program. The class dictionary graph does define classes ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
....2 The Demeter Data Model This study uses the Demeter data model because of its concise mathematical notation and its ability to model classes with both their inheritance and part of relationship in a uniform theory. These two features make it an ideal foundation for theoretical studies. LBSL91, LX91a] define OilSensor FaultSensor Number trigger TempSensor temp ProbeTemp Sensor probetemp Sensor Temperature Kelvin Celsius value norm NormSensor Furnace furnacetemp FurnaceTemp Sensor Figure 1: Experimental heating system: class dictionary graph Furnace the Demeter data model thoroughly. We ....
....identifier of the ProbetempSensor object. And similarly for i2, i3, i4. 3 Of course, not every object graph with respect to a class dictionary graph is legal. Intuitively, in a legal object graph, the object structure has to be consistent with the class definitions of the class dictionary graph [LX91a] We will assume in the following that an object graph is legal. Now we are able to formally specify the objects that can be defined by a class dictionary graph. If Gamma is a class dictionary graph we call the set of objects that are defined by Gamma: Objects( Gamma) That is, Objects( Gamma) ....
Karl J. Lieberherr and Cun Xiao. Formal foundations for object-oriented data modeling. IEEE Transactions on Knowledge and Data Engineering, 1991. accepted for publication.
....of objects and the requirements, a class dictionary graph is abstracted out [LBSL91, BL91] A class dictionary graph defines a set of legal objects, including the identified ones. The class dictionary graph is then checked whether it satisfies the axioms, and it is made inductive, if necessary [LX93a] Optimization [LBSL91, LBSL90] and normalization [Lie88] conclude the class dictionary graph transformations. A class dictionary graph defines a class library which contains basic methods for manipulating the objects defined by the class dictionary graph. Requirements identify identify ....
....the Deme 1 In this paper we use C as object oriented language. But the Demeter Method is applicable to any object oriented language, such as Smalltalk, Eiffel, or Oberon 2. ter method: 1. an axiomatic, graph theoretic foundation for class dictionaries (some earlier papers [LBSL91, LBSL90, LX93a] introduced class dictionary graphs only, while others introduced class dictionaries only informally [Lie88, LR89] 2. a formal description of the connection between class dictionaries and languages. 3. the LL(1) conditions from language theory [ASU86] are generalized for class dictionaries. The ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, 5(3):462--478, June 1993.
....name head state country location name turnover street city name title company subsidiaries sharePercentage officers stake salary value Figure 1: Class dictionary graph representing conglomerates of companies. is proposed in section 5. Section 7 concludes the paper. 2 Class Dictionary Graphs [LBSL91, LX91] define class dictionary graphs thoroughly. We reproduce as much of the definition of class dictionary graphs as is needed to make this paper self contained. Class dictionary graphs are a formal, programming language independent notation for describing class hierarchies. The class dictionary graph ....
Karl J. Lieberherr and Cun Xiao. Formal Foundations for Object-Oriented Data Modeling. IEEE Transactions on Knowledge and Data Engineering, June 1991. accepted for publication.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC