The success of system modernization depends on the existence of technical frameworks for information integration and tool interoperation like the Model Driven Architecture (MDA). Reverse engineering techniques play ...The success of system modernization depends on the existence of technical frameworks for information integration and tool interoperation like the Model Driven Architecture (MDA). Reverse engineering techniques play a crucial role in system modernization. This paper describes how to reverse engineering activity diagrams from object oriented code in the MDA context focusing on transformations at model and metamodel levels. A framework to reverse engineering MDA models from object oriented code that distinguishes three different abstraction levels linked to models, metamodels and formal specifications, is described. At model level, transformations are based on static and dynamic analysis. At metamodel level, transformations are specified as 0CL (Object Constraint Language) contracts between M0F (Meta Object Facility) metamodels which control the consistency of these transformations. The level of formal specification includes algebraic specifications of MOF metamodels and metamodel-based transformations. This paper analyzes a recovery process of activity diagrams from Java code by applying static and dynamic analysis and shows a formalization of this process in terms of MOF metamodels. The authors validate their approach by using Eclipse Modeling Framework, Ecore metamodels and ATL (Atlas Transformation Language).展开更多
文摘The success of system modernization depends on the existence of technical frameworks for information integration and tool interoperation like the Model Driven Architecture (MDA). Reverse engineering techniques play a crucial role in system modernization. This paper describes how to reverse engineering activity diagrams from object oriented code in the MDA context focusing on transformations at model and metamodel levels. A framework to reverse engineering MDA models from object oriented code that distinguishes three different abstraction levels linked to models, metamodels and formal specifications, is described. At model level, transformations are based on static and dynamic analysis. At metamodel level, transformations are specified as 0CL (Object Constraint Language) contracts between M0F (Meta Object Facility) metamodels which control the consistency of these transformations. The level of formal specification includes algebraic specifications of MOF metamodels and metamodel-based transformations. This paper analyzes a recovery process of activity diagrams from Java code by applying static and dynamic analysis and shows a formalization of this process in terms of MOF metamodels. The authors validate their approach by using Eclipse Modeling Framework, Ecore metamodels and ATL (Atlas Transformation Language).