This page is also available in this in the following languages:
PragMaTicFr -
What is PragMaTic ?
PragMatic is a
MDA tool aiming at facilitating models manipulation. There are lots of good open source projects on this subject but we think they are quite complex to use as soon as you want to be able to work on models behind basic code generation.
The average company developer needs to concentrate on business functionnalities not on tools building. So we try to provide a tool, sufficiently simple in order to be used very quickly and sufficiently powerful to help works efficiently at a more abstract level than code.
Models must be useful in all phases of a project (business requirements, technical analysis, design, coding, ...) and so be used by all contributors of a project and not only by developpers.
MDA power must be accessible to everybody.
Pragmatic is part of
ABS and is a Free Software project.
Status
PragMatic is at the very beginning of its life but we already use it for several tasks in many real-life projects, notably documentation and code generation.
Roadmap
- 0.9 : 2006/10/24 : (2 binaries versions : pragmatic-argo andpragmatic-poseidon) included :
- Fix all opened Bugs reports (PRAG23, PRAG24, PRAG25 and PRAG32, ...)
- Drools 3.0 Support (be careful : you will have to rewrite your own specifics rules)
- UML Diff rewritten in drools 3 format
- model to model rewritten in drools 3 format
- ArgoUML Support
- Improved Web services support (SOAP with excellent XFire)
- UML PragMaTic TCK (Test Compatibility Kit) : improved test suite in order to certify/validate all implementation of pragmatic-umlmetafacades : UMLXX-poseidon, UML-1.4 (Argo and others ...) and in the
future UML2.
- 1.0 : 2006/11/20 :
- Fix all opened Bugs reports
- Write rules and templates in order to support JSF
- Multiple metamodels version management in order to deliver an unique binary version of PragMaTic.
- Rewrite of model to java (Gluon Framework and others ...) in drools 3
- Rewrite of model to docbook in drools 3 format
- 2.0 : 2007/03 :
- Fix all opened Bugs reports
- EMF repository
- UML 2 metafacades (in order to suport topcased) :
- Hervé Gérard (HG)
- Jean-Michel MOREL (JMM)
- Jérôme BENOIS (JB)
- Write rules and templates in order to support Java Persistence API :
- Xavier MILLIARD (XM)
- Jérôme BENOIS (JB)
Concepts
At its core, PragMatic allows manipulation of models with a simple client API. Several profiles are proposed for specific tasks. A
profile is a small application which use the API in a specific way. For example, we have a model2docbook profile, a model2model profile, a model2code profile etc.
The docbook profile works by merging Velocity templates representing docbook document with the representation of the model. The docbook file may be processed with fop to obtain a PDF document.
Differents profiles are assembled in a
pipeline. A pipeline is a chain of profiles to apply to a set of models.
For example, we want to define a pipeline for generating requirements documentation.
First we loaded our current model, then we want to check for model coherency and company rules related to modeling. After that, we do some transformation to have a good looking document (size adjustment of diagrams, coloring some diagrams elements, ...) and finally we put the model representation in a Velocity template to generate a docbook document.
You can get a look a the
simple client API or consult the complete (sort of ;-) )
javadoc (Updated on 02/02/2006)
Some of the standard architectures manage by PragMaTic are discussed in
Architecture.
Getting Started
PragMaTic is working only with jdk1.5 or greater.
You can download binaries release it :
CE 3.x Serial valid untill 30.10.2006:
Dpnb0v49sEWZ5onPIE2ZJo160Y8fhJSkpl7bmeN8cpOEok2Y2I8DnPb+8vL0
fXvLrhWtNdf/jfeU2rU5RcEAl5L4AIjniHc+gsf/ugrNXzANsSCzV1X1kpCy
tSWGaB72dc/WD/2GIr+JpNJjgLBGgDCEZHPltg+xPvSMu6FI5sU
CE 4.x Serial valid untill 30.10.2006:
Mtskr1ZSBpRKZO6Op9ptLk1qNLSpLSxw33LHedVV1/xZfgN6Fdk5HB1yEqTW
hrdmBUr44UFhmJIYsNNEE7i1g8572PxH34kTFVLQtKocnOtU12BAFhCv9fnZ
/Q+MQ5cNgzRRui+MYj24RkoDP6Jul8JOkDgIxLGLqfBXef2m858
CE 4.2.0 Serial
HFiwD6lXF41Fx5S2omL/iKJueoygV4lEcUnjUkqwf1UE4TUACrZyvEtUiSuV
zXFu1GbVJxo8ZIyG+EHsN2CRHME1167LG2te6mwZ+XmV3d7enzJ+V9zyp2k6
ifBrC0LaRaamy9W6SYIWVRX6xogHfanA3bgAaD9waZA80A6Q/Oo
- How-To run a demo
Tutorials
Some simples
tutorials are available. Feel free to add your own.
Developers Section
- Building PragMaTic from Source
- Directory Layout
- Submit a Patch
- Google Summer Of Code 2006 proposal
Available Profiles
- Model2Model?
- Model2Docbook?
- Model2Java
- Model2GObject
License
All pragmatic code and documentation are released under the
Apache Software Licence V2.
Community
If you want to participate, you are very welcome to consult mailing list archives and subscribe at this
page (look for specific PragMatic lists).
A subversion repository is available you can checkout all sources with an anonymous access (anonymous/anon) :
svn co
http://svn.sharengo.org
Note that you need to use the
abs toolchain in order to compile all pragmatic related sources.
att:facials-932.html