Model Driven Architecture (MDA) is an emerging technology that is supposed to provide a technical framework for information integration and tools interoperation; many UML tools claim to be compliant with it. Model-to-model transformations are essential in MDA. This article describes foundations for UML-based transformation tools. We introduce the NEREUS language to cope with concepts of UML metamodel. A transformational system to translate OCL to NEREUS was defined. In this framework, we describe the NEREUS process to forward engineering UML static models to objectoriented code. Eiffel was the language of choice in which to show the feasibility of our approach. Transformations are supported by a library of reusable components and by a system of transformation rules that allow translating UML/OCL constructions to NEREUS specifications and Eiffel step-by-step. FOUNDATIONS FOR MDA-BASED FORWARD ENGINEERING 130 J OURNAL OF OBJECT TECHNOLOGY V OL. 4, NO. 1 models of systems is well supported by automated theorem prover and model checkers, however these tools are not integrated into UML-based environments. Also, these tools provide limited facilities for refactoring and reverse engineering. The OMG is promoting the MDA that is supposed to provide a technical framework for information integration and tools inter-operation based on the separation of platform specific models (PSM) from platform independent models (PIM). Many tools claim to compliant with MDA. It is still evolving and some problems have been detected in the transformation processes that require flexible code generation mechanisms [Kleppe03]. Formal and semi-formal techniques can play complementary roles in MDA-based software development processes. We consider this integration beneficial for both semiformal and formal specification techniques. On the one hand, semi-formal techniques have the ability to visualize language constructions allowing a great difference in the productivity of the specification process, especially when the graphical view is supported by means of good tools. On the other hand, formal specifications allow us to produce a precise and analyzable software specification and automate model-to-model transformations. The combination of UML and formal specifications offers the best of both worlds to software developer. In this article we describe foundations for MDA-based forward engineering. Metamodeling is one key of the MDA. In this direction, we define the NEREUS language to cope with concepts of UML metamodel. In particular this language is relation-centric, that is it expresses different kinds of relations (dependency, association, aggregation, composition) as primitives to develop specifications. Much more information can be included in the specification metamodel using the combination of UML and OCL (Object Constraint Language) [Warmer03]. A transformational system to translate OCL to NEREUS was defined. NEREUS can be viewed as a communication bridge between UML and other algebraic languages and between UML and object oriented languag...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.