[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (FC-Devel) Concept Oriented Design

Jarillon wrote:
> -----Original Message-----
> From: Chen Ofek <cheno@glx.chief.co.il>
> To: freecase-devel@freecase.seul.org <freecase-devel@freecase.seul.org>
> Date: Sunday, August 02, 1998 2:50 PM
> Subject: (FC-Devel) Concept Oriented Design
> I think we should develop a new design methodology.

Does this methodology is intended to replace UML, or is a layer above UML ?
Anyway, we need a compliant structure for FreeCASE to allow both of them in the

This methodology is intended to be the underlying structure. I think the COD can support also UML.
> If you have good design and good objects with good interfaces its very nice
> to
> use OO design, but if for example you want to change interface for some
> objects
> it can be a big task if you have a big project.
> So, I will try to propose a more flexible methodology which OO is a
> particular case.

An interface is a node(a minima) in the complexity between two projects or
The highest management of a project consist in the management of the
versions of each interface. So, the interfaces defines subprojects which
can be modified without other constraint than the respect of the interfaces.
The modifications of the interfaces are handled by the main manager.
If a new methodology can overrule this, it want to know it !

I mentioned the interface just as an example for the problems of OOD, but
maybe we can think about some idea to overcome it. for example: if we maintain
a list for each class all the classes that use its interface we can then go over the list
and do the appropriate changes whenever the interface is changing. (well, its brute
force, but it can work)
Anyway, I wish more information about "concepts".
I don't have a full working methodology or a final definition for "Concept",
but I can share with you some of my thoughts:
A concept should be defined by diagrams.
There are many kinds of diagrams for example : static diagrams, dynamic diagrams,
state machine diagrams, data flow diagrams etc.
I think the basic type should be static diagrams which depicts the concept and their
relationships, something like Conceptual Graphs (CG)
You can read about CG in the documentation for the MICO project
     Conceptual Graphs in MICO
Or in the AI Trader page