The Journal of Object Technology · 2008 · 16 citations · 9 references
ComputingComputer ScienceProgramming LanguagesSoftware EngineeringSystems ProgrammingObject-oriented DesignObject-oriented ProgrammingSoftware DesignInheritance HierarchiesInheritance ModelingInheritance SystemsObjectsProgramming ConceptsVirtual Address Space
In the paper we introduce a new programming language construct, called concept, which is defined as a pair of two classes: one reference class and one object class. Instances of the reference class are passed-by-value and are intended to indirectly represent objects. Instances of the object class are passed-by-reference. Each concept has a parent concept specified by means of the concept inclusion relation. This approach where concepts are used instead of classes is referred to as concept-oriented programming (CoP). CoP is intended to generalize object-oriented programming (OOP). Particularly, concepts generalize conventional classes and concept inclusion generalizes class inheritance in OOP. This approach allows the programmer to describe not only objects but also references which are made integral and completely legal part of the program. Program objects at run-time exist within a virtual hierarchal address space and CoP provides means to effectively design such a space for each concrete problem domain.
9
The art of the metaobject protocol
Choice Reviews Online · 1992 · 1K citations
Gilad Bracha, William R. Cook · 1990 · 811 citations
Engineering, Systems Engineering, Knowledge Representation +13
Language constructs for context-oriented programming
Pascal Costanza, Robert Hirschfeld · 2005 · 210 citations
William Harrison, Harold Ossher · ACM SIGPLAN Notices · 1993 · 149 citations
Gilad Bracha, William R. Cook · ACM SIGPLAN Notices · 1990 · 137 citations · Full text
Engineering, Systems Engineering, Knowledge Representation +13