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

(FC-Devel) FreeCase requirements



In your [i.e. Andrey V Khavrytchenko's] article ``FreeCASE Repository
Operational Concept Description'' I miss one point, that is important in my
experience: 
  - in a larger model repository, it is essential to have good searching and
    browsing capabilities.  Otherwise you end up in a situation, where you
    have a huge and rich repository, but relevant content is hidden in the
    masses.  So in ignorance of already existing similar content, some
    contributor will come to the conclusion to have to build a new model on
    his own.  Obviously, this will inhibit reuse, leading to gained
    redundancy and less thorough elaboration and test of existing material.

In my opinion, finding semantical similarity is not a trivial task.  It's not
in itself a problem, that you temporarily have models, which happen to have
overlapping structures.  This will happen any time in a modelling process
[especially in a many-contributor environment].  The important thing is, that
you only come to better models, if you [are able to] detect such an overlap.
Only then can you factor out common structure into a common superclass.  In a
strongly typed environment [like Eiffel], superclassing is moreover essential
to get interoperability by type compatibility.

A phenomenon, strongly related to this, is the namespace problem.  
The oo-world is basically a highly managed one.  Most of its mechanisms
[primarily inheritance] only work, if you have a global standard of naming.  
You can loosely say: ``The oo-community puts semantic description into the
signature.'' [besides concepts like pre- and post-conditions or the OCL].  

A huge distributed model repository now does not have this great unifying
``name standardizer''.  Besides the ``culture'' of radical analysis of
language, I do not yet know of any other proper means, which leads to
convergent naming in a heterogeneous world.  The question is, how can such a
``culture'' be implemented?  Or does anybody else have a fruitful hint for the 
golden way to convergent naming?  Or does anybody teach me, that we don't need 
convergent naming, because we have something better?


'Hope, I could have inspired some of the listeners of mp radio, 

  Markus