Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

From objects to classes: algorithms for optimal object-oriented design

From objects to classes: algorithms for optimal object-oriented design

For access to this article, please select a purchase option:

Buy article PDF
$19.95
(plus tax if applicable)
Buy Knowledge Pack
10 articles for $120.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
Software Engineering Journal — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

The contributions of this paper are two-fold: first, we introduce a novel, axiomatically defined, object-oriented data model called the Demeter kernel model; and secondly, we present abstraction and optimisation algorithms and their relationships for designing classes from objects in the kernel model. We analyse several computational problems underlying the class design process, which is divided into two phases; a learning phase and an optimisation phase. This study focuses on approximation algorithms for the optimisation phase and aims to lead to a better understanding and a partial automation of the object-oriented design process. The algorithms and the theory presented here have been implemented in the C++ Demeter System, a CASE tool for object-oriented design and programming.

References

    1. 1)
      • E. Casais , D. Tsichritzis . (1990) Managing class evolution in object-oriented systems, Object management.
    2. 2)
      • B. Pernici , F. Barbic , M.G. Fugini , R. Maiocchi , J.R. Rames , C. Rolland . C-TODOS: an automatic tool for office system conceptual design. ACM Trans., Off. Inform. Syst. , 4 , 378 - 419
    3. 3)
      • B. Meyer . (1988) , Object-oriented software construction.
    4. 4)
      • R.E. Johnson , B. Foote . Designing reusable classes. J. Obj. Orient. Programm. , 2 , 22 - 35
    5. 5)
      • B.J. Cox . (1986) , Object-oriented programming, an evolutionary approach.
    6. 6)
      • R.J. Wirfs-Brock , R.E. Johnson . A survey of current research in object-oriented design. Commun. ACM , 9 , 104 - 124
    7. 7)
      • S. Abiteboul , R. Hull . Restructuring hierarchical database objects. Theoret. Comput. Sci. , 3 - 38
    8. 8)
      • O.L. Madsen , B. Møller-Pedersen , S. Gjessing , K. Nygaard . (1988) What object-oriented programming may be — and what it does not have to be, European Conference on Object-Oriented Programming.
    9. 9)
      • R. Snodgrass . (1989) , The interface description language.
    10. 10)
      • G. Jäger , H. Läuchli , B. Scarpellini , V. Strassen . (1990) , Ernst Specker Selecta.
    11. 11)
      • Lieberherr, K., Bergstein, P., Silva-Lepe, I.: `Optimal and efficient abstraction of single inheritance hierarchies', Symp. on Object-Oriented Languages and Systems, 1990, Twente University Netherlands, Inter-Actief and Computer Science, p. 1–24.
    12. 12)
      • D. Angluin , C. Smith . Inductive inference: theory. ACM Comput. Surv. , 3 , 237 - 269
    13. 13)
      • G. Booch . (1991) , Object-oriented design with applications.
    14. 14)
      • K. Lieberherr . Object-oriented programming with class dictionaries. J. Lisp Symbol. Comput. , 2 , 185 - 212
    15. 15)
      • J. Karimi , B.R. Konsynski . An automated software design assistant. IEEE Trans. , 2 , 194 - 210
    16. 16)
      • D.C. Tsichritzis , F.H. Lochovsky . (1982) , Data models.
    17. 17)
      • D.G. Bobrow , L.G. DeMichiel , R.P. Gabriel , S.E. Keene , G. Kiczales , D.A. Moon . Common Lisp object systems specification. SIGPLAN Not.
    18. 18)
      • Lieberherr, K.J., Holland, I., Riel, A.: `Object-oriented programming an objective sense of style', Object-Oriented Programming Systems Languages and Applications Conf., September 1988, San Diego, California, (A short version of this paper appears in IEEE Computer, June 88, Open Channel Section, pages 78–79).
    19. 19)
      • A. Borgida , T. Mitchell , K. Williamson , M.L. Brodie , J. Mylopoulos . (1986) Learning improved integrity constraints and schemas from exceptions in data and knowledge bases, On knowledge base management systems.
    20. 20)
      • P. Coad , E. Yourdon . (1991) , Object-oriented analysis.
    21. 21)
      • A. Goldberg , D. Robson . (1983) , Smalltalk-80: the language and its implementation.
    22. 22)
      • K.R. Dittrich . Object-oriented database systems: the next miles of the marathon. Inform. Syst. , 1 , 161 - 167
    23. 23)
      • C. Lecluse , P. Richard , F. Velez , S. Zdonik , D. Maier . (1990) O2, an object-oriented data model, Readings in object-oriented database systems.
    24. 24)
      • Pun, W.W.Y., Winder, R.L.: `Automating class hierarchy graph construction', , Technical Report, 1989.
    25. 25)
      • Lieberherr, K.J., Bergstein, P., Silva-Lepe, I.: `Optimal and efficient abstraction of classes from objects', NU-CCS-90-6, Technical Report, January 1990.
    26. 26)
      • L. Cardelli , G. Kahn , D. MacQueen , G. Plotkin . (1984) A semantics of multiple inheritance, Semantics of data types.
    27. 27)
      • Steier, D.: `Automating algorithm design within a general architecture for intelligence', CS-89-128, Technical Report, April 1989.
    28. 28)
      • H. Behnke , F. Bachmann , K. Fladt , W. Süss . (1974) , Fundamentals of Mathematics.
    29. 29)
      • Pirri, F.: `Modelling a multiple inheritance lattice with exceptions', Proc. Workshop on Inheritance and Hierarchies in Knowledge Representation and Programming Languages, February 1989, Italy, Viareggio, p. 91–104.
    30. 30)
      • R.B. Hull , C.K. Yap . The format model: a theory of data organization. J. ACM , 3 , 518 - 537
    31. 31)
      • Atkinson, M., Bancilhon, F., de Witt, D., Dittrich, K., Maier, D., Zdonik, S.: `The object-oriented database system manifesto', Proc. Int. Conf. on Deductive and Object-Oriented Databases, 1989, Kyoto, Japan.
    32. 32)
      • K.J. Lieberherr , A.J. Riel . Contributions to teaching object-oriented design and programming. SIGPLAN Not. , 11 - 22
    33. 33)
      • Bergstein, P., Lieberherr, K.: `Incremental class dictionary learning and optimization', European Conf. on Object-Oriented Programming, Geneva, Switzerland, Springer-Verlag.
    34. 34)
      • Lieberherr, K., Woolf, C.: `Grammar-based planning for object-oriented applications', NU-CCS-89-11, Technical Report, February 1989.
    35. 35)
      • R.E. Stepp , R.S. Michalski , R.S. Michalski . (1986) Conceptual clustering: inventing goal-oriented classification of structured objects, Machine learning an artificial intelligence approach.
    36. 36)
      • Q. Li , D. McLeod , R. Gupta , E. Horowitz . (1991) Conceptual database evolution through learning, Object-oriented databases with applications to CASE, networks and VLSI CAD.
    37. 37)
      • Winston, P.H.: `Learning structural descriptions from examples', 76, Technical Report, 1970, Project MAC.
    38. 38)
      • B. Stroustrup . (1986) , The C++ programming language.
    39. 39)
      • M.R. GAREY , G.J. JOHNSON . (1979) , Computers and intractability.
    40. 40)
      • P. Wegner . Concepts and paradigms of object-oriented programming. OOPS Messenger , 1 , 7 - 87
    41. 41)
      • G.M. Kuper , M.Y. Vardi . (1984) The logical data model, Principles of database systems.
    42. 42)
      • Lieberherr, K.J., Bergstein, P., Silva-Lepe, I.: `Abstraction of object-oriented data models', Proc. Int. Conf. on Entity-Relationship Approach, 1990, Lausanne, Switzerland, p. 81–94, (Elsevier).
    43. 43)
      • T.J. Teorey , D. Yang , J.P. Fry . A logical design methodology for relational data bases. ACM Comput. Surv. , 2 , 197 - 222
    44. 44)
      • E. Casais , D. Tsichritzis . (1989) Reorganising an object system, Object oriented development.
    45. 45)
      • A. Barr , E.A. Feigenbaum . (1981) , The handbook of artificial intelligence.
    46. 46)
      • Bergstein, P.: `Object-preserving class transformations', Object-Oriented Programming Systems, Languages and Applications Conf., 1991, Sigplan Not..
    47. 47)
      • V. Dhar , M. Jarke . Dependency directed reasoning and learning in systems maintenance support. IEEE Trans. , 2 , 211 - 227
    48. 48)
      • Gyssens, M., Paradaens, J., van Gucht, D.: `A graph-oriented object model for database end-user interfaces', Proc. ACM/SIGMOD Annual Conf. on Management of Data, 1990, Atlantic City, ACM Press, p. 24–33.
    49. 49)
      • B. Liskov , J. Guttag . (1986) , Abstraction and specification in program development.
    50. 50)
      • K.J. Lieberherr , A.J. Riel . Demeter: a CASE study of software growth through parameterized classes. J. Obj. Orient. Program. , 3 , 8 - 22
    51. 51)
      • Y.E. Lien , S. Bing Yao . (1985) Relational database design, Principles of database design.
    52. 52)
      • H. Ait-Kaci , R. Nasr . Login: a logic programming language with built-in inheritance. J. Logic Program. , 185 - 215
    53. 53)
      • K.J. Lieberherr , I. Holland . Assuring good style for object-oriented programs. IEEE Softw. , 38 - 48
http://iet.metastore.ingenta.com/content/journals/10.1049/sej.1991.0024
Loading

Related content

content/journals/10.1049/sej.1991.0024
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address