Concept Oriented

The concept-oriented paradigm is a direction in computer science, which follows a set of the following fundamental principles:

An elementary part of space is referred to as a concept, which generalizes such terms as class in programming, table/relation in databases, scope/environment in design.

These principles are used to develop more concrete directions such as ConceptOrientedProgramming, ConceptOrientedModel and ConceptOrientedDesign.

More information on the concept-oriented paradigm can be found at the concept-oriented portal here and specifically in the concept-oriented FAQ here

Some related disciplines include ObjectCapabilityModel (which achieves security via interface and ProxyPattern, esp. applicable to ActorsModel), KellCalculus? ('kell' is first-class locality atop PiCalculus, hierarchical, intercepts messages to and from 'child' kells in the same manner as ConceptOrientedProgramming with its spaces). Neither of these definitions formalize the system of external names or references to local objects in the same manner as does ConceptOrientedProgramming.

Implementation may be a bit difficult... a collection of Button concepts might have an enormous variety of different Identifier types, each of which would have their own semantics associating them with an external space and the button within it.

This splitting of meaning into objects and concepts sounds interesting, especially that bit about the representation and access of an object being dependent on the concept (I take it to a synonym for context). But I am severely missing examples, anything to see how this is actually used. Everything on that website is just plain self-referential. Without any concrete connections or examples or a comparison of OO with matching CO code) I just cannot get a grasp of what is really meant. -- GunnarZarncke

[WalledGarden Discussion]

Like GunnarZarncke I'm piqued but perplexed by the circular definitions. I actually ended up here because I was looking for more information about ConceptProgramming and a search for Concept lured me into this WalledGarden. I did also find ConceptProgramming so was not completely thwarted. ConceptProgramming is explained in detail at From AlexandrSavinov (or someone else that understands ConceptOrientedProgramming), I'd like to see comparisons that illustrate the relationship between ConceptOrientedProgramming and the following: ConceptProgramming, ObjectOrientedProgramming, AspectOrientedProgramming, DesignPatterns, ... etc -- BrandonCsSanders

From what I've seen, ConceptProgramming and ConceptOrientedProgramming (the ConceptOriented WalledGarden) are not related at all. -- JeffGrigg

Is there a tie in between this work and CppAndConcepts? It might be a question of the implementation. In that case it will cease to be a WalledGarden. -- JohnFletcher

No, there is no tie between ConceptOrientedProgramming (which formalizes some notion of distinct spaces by formalizing address/identity of objects and offering mechanisms to capture messages at space 'borders') and CppAndConcepts (which provides advanced features for checking template applications, making error descriptions more tractable, and optimizing the adaptation of template-driven algorithm based on template-provided traits of the underlying structures over which those algorithms operate). The two are using the word Concept in completely disparate ways.

Thanks -- JohnFletcher

Some related concepts(ideas): How are these related?


EditText of this page (last edited July 9, 2010) or FindPage with title or text search