systematic way to identify the domain features of the
framework and the information which is necessary to
reuse its classes.
The remainder of this paper is organized as
follows: Sections 2 and 3 present, respectively,
frameworks and Domain-Specific Modeling
Languages. Section 4 presents some related works.
Section 5 presents the approach of framework reuse
supported by Domain-Specific Modeling Language.
Section 6 presents the use of the proposed approach
to build the GRENJ Framework DSML. Section 7
presents the conclusions about this work.
2 FRAMEWORKS
Frameworks support software development by
providing reuse of code and design. They are
composed of two parts (Brugali and Sycara, 2000):
frozen spots, which constitute unchangeable parts,
regardless of the application that is being developed;
and hot spots, which represent classes that are
directly reused by the applications. The classes that
are hot spots and their superclasses can contain hook
methods that need to be overridden or invoked in
order to customize the framework according to the
application requirements.
A framework is classified according to the way
its hot spots are accessed: 1) white box, when
such access occurs through inheriting their classes
and overriding their methods, 2) black box, when
the access occurs through composition, and 3) gray
box, when it occurs through the two previous
ways. According to their purpose, frameworks
can also be classified as: 1) System Infrastructure
Frameworks (SIF), which simplify the development
of software that controls low-level operations; 2)
Middleware Integration Frameworks (MIF), which
increase the modularization of applications; 3)
Enterprise Application Frameworks (EAF), which are
used to instantiate applications for specific domains
(Abi-Antoun, 2007)(Fayad and Schmidt, 1997).
In this paper, we used the GRENJ Framework to
exemplify our approach. The GRENJ Framework is
a white box EAF that addresses the domain of rental,
purchase, sale and maintenance transactions of goods
or services (Durelli et al., 2010). The main reasons for
choosing the GRENJ Framework are: 1) it contains
all kind of features, e. g., mandatory, optional and
variable; 2) applications within its domain are widely
adopted by industry and academia; 3) its code is open;
4) we have developed applications reusing it, so we
have full knowledge about its code, hot spots and
functionality.
3 DOMAIN-SPECIFIC
MODELING LANGUAGES
Modeling is the act of creating a model to get a
better understanding of what is to be built and a
more abstract view of a problem solution. It aims
at facilitating the comprehension of the solution and
serves as documentation (Gronback, 2009).
A modeling language is formed by: an abstract
syntax, that defines the elements and the rules of the
language and usually is represented by metamodel;
and a concrete syntax, which defines its notation.
The most common notations for modeling languages
are textual, graphical and tree-view. (Cuadrado and
Molina, 2009).
In place of general-purpose modeling languages,
such as UML, a Domain Specific Modeling Language
(DSML) can be used to model applications with
elements that are appropriate to the addressed
domain. Since there is a greater similarity between
the DSML elements and the application features,
mapping the application requirements is easier (Turki
et al., 2004) and transformations from application
models are more effective. Templates can be
used as skeletons to generate several kinds of
artifacts (Gronback, 2009), such as application code,
documentation, test code and other models.
The main advantages provided by the use
of DSMLs are (France and Rumpe, 2007): 1)
better separation between the logic of the software
and the details of the technologies employed in
its implementation, 2) greater facility in creating
reusable artifacts, and 3) better quality of the software
that are produced since their features are well defined
and their code can be generated.
4 RELATED WORKS
In this section, some studies reporting the difficulties
during the reuse of frameworks and suggesting
possible solutions to this problem are presented and
compared with the approach proposed in this paper.
Braga and Masiero (2003) proposed building a
wizard for the development of applications reusing an
EAF. In this process, the developer fills out the wizard
forms according to the application requirements and
the wizard generates the application code. It is similar
to the approach supported by a DSML. However, it
does not generate code directly from the application
model.
Oliveira et al. (2007) presented a systematic
approach for framework reuse based on the Reuse
Description Language (RDL), a language designed
ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems
6