Concept-Oriented Programming - Classes and Inheritance Revisited

Alexandr Savinov


The main goal of concept-oriented programming (COP) is describing how objects are represented and accessed. References (object locations) in COP are made first-class elements responsible for many important functions which are difficult to model via objects. COP rethinks and generalizes such primary notions of object-orientation as class and inheritance by introducing a novel construct, concept, and a new relation, inclusion. They make it possible to describe many mechanisms and patterns of thoughts currently belonging to different programming paradigms: modeling object hierarchies (prototype-based programming), precedence of parent methods over child methods (inner methods in Beta), modularizing cross-cutting concerns (aspect-oriented programming), value-orientation (functional programming).


  1. Borning, A. H., 1986. Classes versus prototypes in objectoriented languages. In Proc. ACM/IEEE Fall Joint Computer Conference, 36-40
  2. Goldberg, D. S., Findler, R. B., Flatt, M., 2004. Super and inner: together at last! In Proc. OOPSLA'04, 116-129
  3. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J., 1997. AspectOriented Programming, In Proc. ECOOP'97, 220-242
  4. Kristensen, B. B., Madsen, O. L., Moller-Pedersen, B., Nygaard, K., 1987. The Beta programming language, In Research Directions in Object-Oriented Programming, B. Shriver, P. Wegner (Eds.), 7-48
  5. LaLonde, W. R., Thomas, D. A., Pugh, J. R., 1986. An exemplar based Smalltalk. In Proc. OOPSLA'86, 322- 330
  6. Lieberman, H., 1986. Using prototypical objects to implement shared behavior in object-oriented systems. In Proc. OOPSLA'86, 214-223
  7. Madsen, O. L., Møller-Pedersen, B., 1989. Virtual Classes: A Powerful Mechanism in Object-Oriented Programming. In Proc. OOPSLA'89, 397-406
  8. Savinov, A., 2005. Concept as a Generalization of Class and Principles of the Concept-Oriented Programming. Computer Science Journal of Moldova, 13(3), 292- 335
  9. Savinov, A., 2008. Concepts and Concept-Oriented Programming. Journal of Object Technology 7(3), 91- 106
  10. Savinov, A., 2009. Concept-Oriented Programming. Encyclopedia of Information Science and Technology, 2nd Edition, Editor: Mehdi Khosrow-Pour, IGI Global, 672-680
  11. Savinov A. (2011) Concept-Oriented Model: Extending Objects with Identity, Hierarchies and Semantics, Computer Science Journal of Moldova, 19(3), 254- 287.
  12. Savinov A. (2012) Concept-Oriented Model: Classes, Hierarchies and References Revisited, Journal of Emerging Trends in Computing and Information Sciences, 3(4), 456-470.
  13. Stein, L. A., 1987. Delegation Is Inheritance. In Proc. OOPSLA'87, 138-146

Paper Citation

in Harvard Style

Savinov A. (2012). Concept-Oriented Programming - Classes and Inheritance Revisited . In Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT, ISBN 978-989-8565-19-8, pages 381-387. DOI: 10.5220/0004082303810387

in Bibtex Style

author={Alexandr Savinov},
title={Concept-Oriented Programming - Classes and Inheritance Revisited},
booktitle={Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,},

in EndNote Style

JO - Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,
TI - Concept-Oriented Programming - Classes and Inheritance Revisited
SN - 978-989-8565-19-8
AU - Savinov A.
PY - 2012
SP - 381
EP - 387
DO - 10.5220/0004082303810387