ontomde-core
by Stephane (Pierre) Carrie 2005-2007
http://ontomde.rubyforge.org

== DESCRIPTION:

ontoMDE-core is basically a library for loading a RDFS model in ruby memory and process it to do something usefull such as generating Java or C++ code.

ontoMDE-core is used by ontoMDE-uml2 which adds UML2 meta-model definitions and some helper methods. ontoMDE-uml2 is in turn used by ontoMDE-uml2-java which adds methods and rules to generate java5 code.

But ontoMDE-core is *not* *UML* *specific* and can be used with *any* RDF[http://en.wikipedia.org/wiki/Resource_Description_Framework] / RDFS[http://en.wikipedia.org/wiki/RDF_Schema] model such as those created with Protege_2000[http://protege.stanford.edu]. This opens to ontoMDE-core users the ability to generate code from custom DSL[http://en.wikipedia.org/wiki/Domain_Specific_Language] models, or join different models.

This gem bundles, ontomde-inspector which is a web server for browsing a model and a meta-model inside a running ontomde generator. Inspector is available as an independant script but may also be run from generator (such as ontomde-java with option --inspector or --inspectorAfterLoad ) to provide a view of model before or after generation.

== FEATURES/PROBLEMS:

This tool may be used for
* inspecting a meta-model structure (UML, BPM, your DSL, ...)
* inspecting a model (your UML model, your BPM model, ...)
* interactively call methods of your model (model navigation, java generator method, ...)

Inspector tool is usefull for:
* inspecting a meta-model structure (UML, BPM, your DSL, ...)
* inspecting a model (your UML model, your BPM model, ...)
* interactively call methods of your model (model navigation, java generator method, ...)

== FEATURES/PROBLEMS:
XMI direct loading for
* Enterprise architect

RDF handling library
* RDF/ntriples native ruby file reader
* RDFS to Ruby class file converter
* RDF data reader

Code generator helper library
* file write library helper with unique modal protected zone handling
* tag based code reverse library

== SYNOPSIS:

(example extracted from test/model)

require 'ontomde-core'

# create a new model instance
model=Crdf_Model.new

# loads metamodel and creates Ruby classes
model.loadMetaModelFromFile("etatCivil.rdfs",true)

# load data from file and creates Ruby objects
model.loadModelFromFile("etatCivil.rdf",true)

# very basic browsing of loaded data
model.each { |k,c|
puts "#c #k #{c.rdf_uri"
}
== Manual
Please refer to MANUAL.txt for additional information on ontoMDE-core.

== REQUIREMENTS:

* UNIX users should install redland[http://librdf.org/] if they wish to process RDF files not in N-TRIPLES format such as Protege 2000 XML/RDF files.

== INSTALL:

* (UNIX) sudo gem install ontomde-core
* (WIN ) gem install ontomde-core

Additional information is available on ontoMDE web site :
http://ontomde.rubyforge.org/website/download.html
== LICENSE:

Copyright (C) 2008 Orange-labs
38 rue General Leclerc
92130 ISSY LES MOULINEAUX, France

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.