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

(FC-Devel) [Re: Concept Oriented Design ] + results of tool evaluation



Hello everybody,

it is nice to see, that the last contributions to our discussion is
going to get coincident with my ideas.


Chen Ofek wrote:
> I think we should develop a new design methodology.
>

I think, if I do not confuse the terms, the methodology is already
there. It would be really heavy to invent a new methodology. However,
this looks very similar to the conceptual graph methods mentioned by

Chen Ofek later :

> 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

I have some vague ideas of diagrams being containers of conceptual
graphs.
The only additional information in a diagram is about the graphical or 
viewing structure. Therefore, this information has to be separated 
strictly to allow different views on the same defining information.
F.e. this way it should be even possible to have 3D diagrams.


> This methodology is intended to be the underlying structure. I think
> the COD can support also UML.
> 

I have not yet seen a counterexample.

No some words on tooling: I have evaluated both Mico (v2.1.1) and Jacorb 
(0.9) as two candidates for free Corba ORBs in C++ and Java. Both are
interoperating in a first example, both as clients and servers. I will
post the examples very soon. 

So in a  first step we could define the interface of the repository, 
in my humble opinion it could look like 

collectionOfConceptualGraphs{
	conceptualGraphs(class1, class2, role1, role2)
		
}

As a running example I took the relationships among among numbers
(hoping 
not to confuse the roles :-)

collectionOfFields{
	cG(Integer,Double,subClass,superClass)
	cG(Complex,Double,superClass,subClass)	
}

A view of a cG is a cG relating another cg and some drawing info. 

diagram{
	cg(cg(...),view(),viewer,viewedBy)

}

This  I could have in mind some coding examples, which may be helpful.

If everybody agrees choosing the ORBs and a Java/C++/C mix, we can start
with coding examples very soon.

Have a nice day,
	bye,
		 Thomas

-- 
Thomas Fricke
SIEMENS AG, OEN TR SW PT    
Fon: +49/30 386-36 344, Fax: -21928
Siemensdamm 62, D 13629 Berlin