=Paper=
{{Paper
|id=None
|storemode=property
|title=Comprehensive Model Integration for Dependency Identification with EMFTrace
|pdfUrl=https://ceur-ws.org/Vol-708/mdsm2011-bode-et-al-11-emftrace.pdf
|volume=Vol-708
}}
==Comprehensive Model Integration for Dependency Identification with EMFTrace==
Comprehensive Model Integration for Dependency Identification with EMFTrace*
Stephan Bode, Steffen Lehnert, Matthias Riebisch
Department of Software Systems / Process Informatics
Ilmenau University of Technology
Ilmenau, Germany
{stephan.bode, steffen.lehnert, matthias.riebisch}@tu-ilmenau.de
Abstract—As model-based software development becomes Besides, several different concepts have been proposed for
increasingly important, the number of models to express dependency analyses on models through traceability rules,
various aspects of software at different levels of abstraction e.g., in [1]–[4], whereas [5] relies on information retrieval.
raises. Meanwhile evolutionary development and continuous
changes demand for explicit dependencies between involved However, these approaches only support a limited number
models to facilitate change impact analysis, software com- of modeling languages without presenting a solution for
prehension, or coverage and consistency checks. However, spanning the whole software development process. They
there are no comprehensive approaches supporting models, lack a unified concept for managing models, dependen-
dependencies, changes, and related information throughout cies between models, types of dependency relations and
the entire software development process. The approach
presented in this paper provides a unified and model- auxiliary information in a centralized manner. This unified
spanning concept with a repository for model integration, concept should be enforced to span the entire development
model versioning, and dependency identification among mod- process, ranging from early requirement definitions up to
els utilizing traceability techniques, enhanced with analytic regression testing with the help of appropriate models.
capabilities. The identification is based on a rule set to Heterogenous development environments and the wide use
provide high values for precision and recall. The approach
is implemented in a tool called EMFTrace, which is based of several different CASE tools amplify the benefits gained
on Eclipse technology and supports different CASE tools for from a unified and process-spanning approach.
modeling.
Keywords-model dependencies; model integration; model The concept presented in this paper is aimed at creating
repository; meta model; traceability an extensible platform for various analyses techniques
required for model-driven engineering, reengineering, and
I. I NTRODUCTION impact analysis to support software evolution and contin-
The growing complexity of software is often accompa- uous changes. It is based on a unified approach for com-
nied by difficulties in implementing changes and by archi- prehensive model integration and dependency analysis. In
tectural erosion. One possibility to tackle these problems our approach inter and intra model dependencies are iden-
is the use of different models and modeling languages tified and recorded through traceability links, which are
throughout the entire development process to express established by explicitly defined rules. These traceability
requirements, design decisions, and dependencies between rules are combined with information retrieval algorithms to
models, which is commonly referred to as model-based achieve high precision and recall as well as flexibility. Spe-
development. The wide use of several modeling languages cial emphasis has also been put on the explicit modeling of
and CASE tools has led to a variety of models with dependency types, since they provide important semantic
different scope and levels of abstraction. Integrating the information for further analyses. Moreover, our concept
various models and detecting and analyzing dependencies provides a unified treatment of all related models and data
between them has become important. through automated versioning and management of models,
It is therefore necessary to provide support for software rules, model dependencies, and dependency types within
evolution and continuous changes through models at dif- a centralized repository. We utilize the extensible model
ferent levels of abstraction and by explicitly expressing repository EMFStore [6], which supports the integration of
dependencies between them. Traceability links are well- arbitrary models of standardized modeling languages such
suited to model such dependencies, since they enable as UML, URN [7], BPMN and OWL. Several analysis
further analyses, as change impact analysis, software com- components were integrated into EMFTrace to validate
prehension, and consistency checks. Moreover, solid tool dependencies and to facilitate further analysis capabilities.
support is required to cope with the number of modeled
entities and dependencies to supply practical applicability The remainder of this paper is organized as follows.
and usability. We discuss current development and research regarding
Existing approaches provide solutions for the integra- model repositories and model dependencies in Section II,
tion of models into centralized repositories, e.g., [6]. whereas Section III introduces our concept and describes
* The research presented in this paper was partly funded by the federal
our approaches for model integration and dependency
state Thuringia and the European Regional Development Fund ERDF analysis. Section IV outlines our main conclusions and
through the Thüringer Aufbaubank under grant 2007 FE 9041. future work.
II. S TATE OF THE A RT entire software lifecycle. Based on models and dependen-
A. Model Repositories cies between them, we want to establish solid tool support
for the following activities:
Automated model management and versioning can be
achieved by model repositories that therefore assist model- • Architecture comprehension,
based development of software. We considered several • Dependency analysis,
• Change impact analysis,
different repository projects as a base for EMFTrace,
• Goal-oriented decision support for:
including the Eclipse Model Repository1 , CDO Model
Repository2 , EMFStore3 and AndroMDA4 . Maturity, sup- – Forward engineering and
ported features, usability, and documentation were the – Reengineering; as well as
main decisive factors we based our evaluation on. After • Validation and consistency checks.
a careful consideration of all projects, we decided to use We utilize the EMFStore model repository for storing
the EMF5 -based EMFStore as our underlying repository. and versioning EMF-based models. Figure 1 provides
B. Detection of Model Dependencies an overview of the entire approach and illustrates the
interaction of EMFTrace with external CASE tools.
Since we focus on model-based development and de- To enable the integration and dependency analysis
pendencies between models, we do not consider ap- of different models we extended EMFStore by several
proaches for dependency detection on the level of source metamodels as shown in the bottom of Figure 1. We
code. Data gained through dependency analyses can either integrated different modeling languages into the repository
be stored and maintained in a dependency matrix, as a to span the entire software development process. Our
graph of traceability links, or as a set of cross-references approach supports requirements engineering through URN
[8]. Traceability links allow to attach auxiliary information goal models, URN use case maps, and UML use cases.
to them, such as design decisions and alternatives, or link Furthermore, design models such as class diagrams are
types. This information is of an equivalent value as the provided by UML, which has been fully integrated as
actual dependency itself, since it increases the semanti- well. Additional dependencies between UML and URN
cal meaning of a dependency relationship. Therefore, it models are provided by the integration of OWL ontologies,
is most suitable to represent model dependencies with which supply semantic networks of related terms. To
traceability links for further analyses. ensure practical applicability, we support several different
Most traceability approaches focus either on predefined CASE tools which can be used to create and edit the
rules or on information retrieval. Information retrieval corresponding models. More details on the integration of
approaches as proposed in [5] or [9] operate on identifiers the models are given in Section III-B2.
and are therefore easy to adopt to new models and data.
As mentioned in Section II our approach utilizes rule-
They provide good recall, but their lack of precision and
based traceability for dependency identification among
the complete absence of additional dependency informa-
models. To enable a unified treatment of all models and
tion limit their usability for dependency detection among
related data, we integrated additional metamodels into
models and further analyses.
EMFStore to maintain and store traceability links and
In contrast, rule-based approaches require more work to
rules directly in the repository. Our traceability metamodel
adopt to new models, but they result in more reliable links.
provides explicit support for modeling a hierarchy of
Rule-based approaches as proposed in [1]–[4] are able to
dependency types to ensure the proper categorization of
provide auxiliary information on dependencies, such as the
detected dependencies. Dependency types can be created
type of the dependency specified by the rule. Well-defined
and maintained by users in the repository and aggregated
dependency types are inevitable to identify semantically
in special catalogs, and are therefore subject of model
rich dependencies and to classify them properly.
versioning as well. The metamodel for traceability rules
III. EMFT RACE offers a similar concept, which enables users to create
rules directly in the repository and group them together in
A. Concept and Features catalogs, to support fast exchange and easy maintenance.
EMFTrace implements our approach of comprehensive The design of our rules is based on similar approaches as
model integration and dependency identification as an proposed in [3] and [4]. However, we enhanced our rules
extensible platform, which is our basis for further analyses with information retrieval techniques which supply addi-
and research. Our main focus is to provide a set of analyses tional query-operators to improve dependency detection.
and validation features, which is independent of a certain More details on the concepts for dependencies and rules
CASE tool and modeling language, to support engineers, follow in the next subsections.
software architects and other stakeholders throughout the 1) Dependency Concept: We store dependency infor-
mation as traceability links to benefit from their rich
1 http://modelrepository.sourceforge.net/project-summary.html
2 http://wiki.eclipse.org/CDO
semantics. Our traceability metamodel supports binary
3 http://www.eclipse.org/proposals/emf-store/ and n-ary traceability links. Each traceability link can be
4 http://www.andromda.org/index.php enhanced with additional information such as the type of
5 http://www.eclipse.org/modeling/emf/ a dependency, design decisions, design alternatives, and
!
6)?>9&)=)038! D,*E',!;0',:898! ! F)8910! L*&R4,*S! 6)1&)889*0! 5)='039(!L)E! ;&(/93)(3U8!
-!@6A!-! -!$%2&)!#*+),8! -!@#G!-! -!TI#A!-! %)83901!! -!MLG!-! %**,E*.!
B@<#A'C! "#$493! H98>',!I'&'+91=J!@#GK!%**,8! H98>',!I'&'+91=! -!@K%I!-! I&*3N1N! VF)8910!I'33)&08W!
!
! ! ! ! ! !
!
! !
!
"#$%&'()!
#*+),-".(/'01)-203)&4'()! "#$53*&)-6)7*893*&:! ;0',:39(!<*=7*0)038!
#*+),8! G90R !
6>,)8! F)7)0+)0(:-%:7)8! !
OP!Q5G%! KP!Q5G%!
KP!2=7*&3! OP!".7*&3! 8!
! #)3'=*+),8!
! ! 6>,)!203)&7&)3)&!
!
!!
!
Figure 1. Conceptual overview of EMFTrace and its central role as a platform for various coupled research activities. The integration of dashed
items is subject of current research and development.
assessments of the confidence of the link performed by met. This enables us to create a link for a relationship
users. and its inverse relationship at once, without requiring
Moreover, we are able to combine transitively related additional rules. Rules can be created and edited by users
traceability links, i.e., links that share common model in the repository using EMF-based editors or external
elements as their source or target elements, into traces. in their XML representation, and can be imported af-
These traces store chains of links to span design decisions terwards. Rules can be grouped in catalogs to enable
and multi-level dependency relations. The example shown the use of specialized rule catalogs for different tasks
in Figure 2 illustrates the transition from a URN goal to such as dependency detection or consistency validation, to
its architectural realization through UML models. Further- improve the useability of our tool. Currently there is one
more, EMFTrace provides automated validation features catalog available which contains 68 rules for traceability
for traceability links and traces, to ensure the integrity of detection. Our rules operate directly on model attributes
stored dependency information. Corrupt or outdated links and the structure of models. They compare attributes to
will be erased while broken traces are either split into identify dependencies between models, for example the
smaller sub-traces or removed as well, if they contain less name attribute of an OWL class with the name attribute
than two links. of an UML component. But since the comparison for
exact matching is not always sufficient to detect all de-
)#*+#,(,-! pendencies, information retrieval techniques, such as n-
&'(!)$'(! .$/0$1(! gram based string comparison, are used to compute the
"#$%!
similarity of attributes.
B. Architecture and Realization
Figure 2. A trace containing a transitive chain of! links 1) Architecture: Since EMFTrace is our evolving basis
for many different research activities related to model-
2) Rule Concept: Following the general design pro- driven engineering, its architecure must support the ad-
posed in [3] and [4], our rules comprise three parts as dition of new concepts and features. Our entire tool is
shown in Figure 3, whereas each part is responsible for a based on Eclipse technology and consists of several plug-
certain task. ins that provide the core functionality, a user interface,
and our adapted metamodels. EMFStore provides a server
(the repository) and a client to operate with the repository,
Element
Defini+on
What
models
are
affected
by
the
rule? which is why we integrated our additional features into
the client to provide a unified view and usability. We
Query designed several additional components that integrate new
How
are
they
related? features into the EMFStore client, such as an interpreter
for traceability rules as shown in the bottom right corner
Result
Defini+on
What
should
be
done
with
them?
of Figure 1. Our architecture is extensible and allows
for easy integration of new components into EMFTrace
to introduce new features, i.e., new analysis components.
Figure 3. Main components of our rules All plug-ins and components were implemented and tested
with Java to ensure the platform independent applicability
In contrast to existing approaches as [2], we do not of our tool [10].
operate on files, but on the conceptual level of models 2) Model Integration: Using a modeling language with
inside the EMFStore repository. Each rule can be equipped EMFTrace requires the integration of its metamodel into
with several actions carried out once the conditions are EMFStore. The metamodel must be converted into an
EMF-based Ecore model, which can either be modeled require new rules or existing rules to be refined. Our rule
with EMF or generated from an XSD file. Once an concept should be enhanced to support consistency checks
Ecore model has been generated, it must be adapted of models stored in the repository. The combination of de-
to EMFStore’s metamodel, which provides additional at- pendency identification with consistency analysis provides
tributes to facilitate the management through EMFStore. the basic features to perform change impact analysis on
We performed these steps for the metamodels of UML, models through new components and rules. To improve the
URN, and OWL. usability of our tool, model synchronization with CASE
Since the adaptation to EMFStore’s metamodel intro- tools and methods of change recognition for maintenance
duces new attributes to the metamodels, an adaptation are considered as further enhancements. Drawing more
of models (metamodel instances) is required as well, to benefits from discovered dependency relations requires
add these attributes while importing models from CASE sophisticated visualization of thereby created traceability
tools. We perform the integration and adaptation as il- links to enable the user to navigate on hierarchical chains
lustrated by the arrows in the middle of Figure 1 by of dependencies and to trace models efficiently. Finding
applying XSLT templates on models and encapsulated the appropriate means of dependency visualization is therefore
entire import and export procedures in new components one important research question related to EMFTrace.
(Model-Exchange-Interface), which have been integrated R EFERENCES
into EMFTrace. Therefore, XML-based models exported
by CASE tools and XSLT provide the core technology for [1] G. A. A. C. Filho, A. Zisman, and G. Spanoudakis, “Trace-
ability approach for i* and UML models,” in Proceedings
our integration approach. of 2nd International Workshop on Software Engineering for
As CASE tools (see top of Figure 1) we currently Large-Scale Multi-Agent Systems (SELMAS’03), 2003.
support the Eclipse UML2Tools (UML), Visual Paradigm
(UML, BPMN), the Eclipse-based jUCMnav (URN), and [2] W. Jirapanthong and A. Zisman, “Xtraque: traceability for
product line systems,” Software and Systems Modeling,
Protégé (OWL) with our XSLT templates. Additional vol. 8, no. 1, pp. 117–144, 2009.
modeling languages and their respective CASE tools such
as BPEL can be added to EMFTrace at any time through [3] G. Spanoudakis, A. d’Avila Garces, and A. Zisman, “Revis-
adding an EMF-based metamodel to the underlying EMF- ing rules to capture requirements traceability relations: A
machine learning approach,” in Proc. Int. Conf. in Software
Store repository and providing further XSLT templates.
Engineering and Knowledge Engineering (SEKE 2003).
3) Extensions: One addition which has already been Knowledge Systems Institute, Skokie, 2003, pp. 570–577.
integrated into EMFTrace is the tool EMFfit [12] (see Fig-
ure 1, top left), which supports the management of factor [4] G. Spanoudakis, A. Zisman, E. Perez-Minana, and
P. Krause, “Rule-based generation of requirements trace-
tables and issue cards for Global Analysis as proposed
ability relations,” JSS, vol. 72, no. 2, pp. 105–127, 2004.
by Hofmeister et al. [11] and therefore contributes a new
metamodel to EMFTrace. The tool itself is implemented [5] A. D. Lucia, F. Fasano, R. Oliveto, and G. Tortora, “Re-
and tested as a set of Eclipse plug-ins with Java and covering traceability links in software artifact management
offers support for the transition from requirements to systems using information retrieval methods,” ACM Trans.
Softw. Eng. Methodol., vol. 16, no. 4, Article 13, Sept. 2007.
architectural design.
[6] M. Koegel and J. Helming, “EMFStore: a model repository
IV. C ONCLUSION AND F URTHER W ORK for EMF models,” in Proc. Int. Conf. on Software Engineer-
ing (ICSE’10). ACM, 2010, pp. 307–308.
We presented an approach and a prototype tool EMF-
Trace for model integration and dependency identification [7] ITU-T, “Recommendation ITU-T Z.151 User requirements
between models of the entire software development pro- notation (URN) – Language definition,” ITU-T, Nov 2008.
cess. We support different artifacts ranging from require- [8] S. Winkler and J. von Pilgrim, “A survey of traceability in
ments models to design models which are managed by requirements engineering and model-driven development,”
a unifying repository. Our tool provides comprehensive Softw. and Syst. Model., vol. 9, no. 4, pp. 529–565, 2010.
and automated dependency identification through rule-
[9] A. Marcus and J. I. Maletic, “Recovering documentation-
based traceability to ensure decent precision of results,
to-source-code traceability links using latent semantic in-
enhanced with information retrieval techniques. EMFTrace dexing,” in Proc. Int. Conf. on Software Engineering
facilitates the use of semantically important link types (ICSE’03). IEEE, 2003, pp. 125–135.
and is capable of storing, versioning, and maintaining
traceability links. Standard modeling languages, such as [10] S. Lehnert, “Softwarearchitectural Design and Realization
of a Repository for Comprehensive Model Traceability,”
UML, URN, and OWL, are integrated into the repository Diploma thesis, Ilmenau University of Technology, Ilme-
and several CASE tools are supported. nau, Germany, November 2010.
Further work will focus on several issues: additional
modeling languages such as U2TP and feature models [11] C. Hofmeister, R. Nord, and D. Soni, Applied Software
Architecture. Boston, MA, USA: Addison-Wesley, 2000.
shall be integrated into EMFTrace along with the ap-
propriate metamodels and XSLT templates, allowing for [12] P. Wagner, “Tool Support for the Analysis during Software
additional CASE tools to be used in conjunction with our Architectural Design,” Bachelor thesis, Ilmenau University
tool. New models enable new analysis capabilities and of Technology, Ilmenau, Germany, December 2010.