Via Eric Yu I learn about the Open Model Initiative that aims to “collaboratively develop enterprise reference models for everyone to copy, use, modify, and (re-)distribute in an open and public process”.
This is quite similar to the Repository for Model Driven Development (REMODD) Project, lead by Robert B. France , Jim Bieman, and Betty Cheng.
Both projects face similar technical and social challenges and though I wish them the best, I am afraid it is unlikely we get relevant results from them anytime soon. In my opinion, the three main challenges for a web-based solution for model sharing are:
- Adopting an interchange format that allows to easily share the models (and don’t even dare TO suggest USING XMI FOR this!). Sure, you can just use a graphical format (e.g. jpeg) but then: 1) You can only share some kinds of models and 2) Reuse of models is very limited since each interested USER must redraw the model IN his/her own CASE tool. I don’t think it is not feasible to have a single universal format so users should be able to upload the model in any existing input format and then the platform itself should provide a predefined set of format conversions so that interested users can try to download the model in a format their CASE tool understands.
- Convincing modelers but, specially, their companies of the benefits of sharing their models. Being able to apply some kind of “anonymousness” technique to the models, if desired, would help in this matter. As an example, we could replace the names of the elements in the model with random strings. This would respect the structure of the model but not its semantics (which unfortunately hampers their usefulness for other modelers)
- Developing a search engine for models. Similar to what koders or google code search do for source code, I’d like to have a search engine FOR models, that I could use to search FOR available models IN the web (and not only within the repository of the above two projects!). I’d like to have at least two different search dimensions: a technical and a domain dimension. In the technical dimension, I’d like to be able to write a search query to look for class diagrams in UML 2.0 that contain at least an association class, more than 10 classes and an attribute of type String”. The domain dimension would be useful to search for models on specific domains AS HHRR, banks, video clubs,… AS an example, if I’m developing an e-commerce application, I could be interested in all models that include a model element named “shopping cart” (or similar!) to see how others have modeled that part of the application.
Can you think of any solution to these challenges? Mine is the use of a virtual model repository