|
|
Assistant Professor Department of Computer
Science CIS Building Room 2046 601 South College Road Wilmington, NC
28403 Tel: 910-962-3819 Fax: 910-962-7457 simmondsd [at] uncw [dot] edu ----------------- Visitors since 9/8/2006 |
Research Areas & Projects Model Transformation
Approaches In general, I am
interested in the specification, execution and testing of model
transformations. In a model driven development (MDD) environment, developers
create and evolve applications by specifying models and by transforming
abstract models to more concrete models. These transformations produce new
models or code. Software applications often consist of many functional and
extra-functional features such as distribution, transaction and security.
Specifying a single monolithic transformation for a system model describing
multiple features can be a tedious and error-prone task. Moreover,
extra-functional features are typically spread across and tangled with other
features in a design. Specifying transformations for these crosscutting
features is difficult because the elements to be transformed are distributed
across a model. o Model
Transformation Languages With the emergence of the
Model Driven Architecture, the field of model drive development including model
transformations has received much attention. In a model driven development
(MDD) environment, developers create and evolve applications by specifying
models and by transforming abstract models to more concrete models. MDD hold
the promise of facilitating automated software development and code
generation. To realize the benefits of MDD, model transformation languages are
needed. In previous research, a new model transformation language for UML class model was proposed.
The new language is called DBTL(overview). Since UML is the de facto modeling
standard, transformation languages based on UML are expected to have wide
applicability. DBTL extends the
AOMDF with a graphical model transformation language that support the
transformation of aspect and primary models across different abstraction
levels. The language provides a graphical notation that is closely related to
the notation used to represent the target model of the transformation. A
transformation is described by a transformation schema that consists of
transformation directives. The transformation can be carried out by
mechanisms that process the directives found in the transformation schema. An
algorithm that specifies how transformation schemas are processed during
transformation is provided. The
technique has been used to transform platform-independent aspect models
describing transaction and distribution features into platform-specific
aspect models, specifically aspect models describing CORBA and Jini
realizations of the features. Listed below are some potential projects in this area of research: 1.
Provide an implementation for DBTL. DBTL has been defined but has not
been implemented. The implementation would be done using an appropriate
programming language. 2.
Develop DBTL-like languages for other UML
diagram types, for example, sequence diagrams and state machines. Some
preliminary work on sequence diagrams is available. 3.
Compare and contrast DBTL with QVT and define mappings form constructs in DBTL to constructs in QVT. The MOF 2.0 Query View Transformation
(QVT) Language is an Object Management Group’s (OMG) standard for specifying
model transformations. QVT transformations are specified explicitly (in terms
of) using instances of metamodel level classes. 4.
I am
interested in the specification, execution and testing of model
transformations. Code Generation Software applications
often consist of many functional and extra-functional features such as
distribution, transaction and security. Specifying a single monolithic
transformation for a system model describing multiple features can be a
tedious and error-prone task. Moreover, extra-functional features are
typically spread across and tangled with other features in a design.
Specifying transformations for these crosscutting features is difficult
because the elements to be transformed are distributed across a model. The aspect-oriented
model-driven development framework (AOMDF)
is intended to support the separation of crosscutting extra-functional
features from other design features to ease the modeling and transformation
of complex designs. Extra-functional features are described by aspect models
and other design features are described in a primary model. The AOMDF
currently supports modeling of crosscutting features as aspects, and the composition
of aspect and primary models at the same level of abstraction to produce a
model that integrates the views described by aspect models and a primary
model. When the intent is to
transform models into code, a model-to-model transformation of aspect and
primary models must be accompanied by the transformation of models into code.
Preliminary work has been dome on a model-to-code technique for transforming
aspect models into AspectJ aspects. This research project involves improving
those code generation techniques and implementing the techniques using one or
more middleware such as CORBA, Jini, or .Net. Research
Projects 1. Aspect-oriented approaches
to model-driven development a.
Student: b.
Status:
Research ongoing. c.
Results § Masters research project § Simmonds, D. M., Reddy, Y. R., Song, E. and Grant,
E. (2009) “A Comparison of Aspect-Oriented Approaches to Model Driven
Engineering”, in Proceedings of
the International Conference on Software Engineering Research and Practice,
(SERP 2009). (Acceptance rate 25%). PDF § Devon Simmonds. “In Support of An Aspect-oriented Approach
to Migrating Distributed Applications”, in proceedings of the 1st Caribbean
Conference on Information and Communications Technology (CCICT2009),
Kingston, Jamaica, March 16-18,
2009. (Acceptance rate 50%). PDF § Devon Simmonds. "Aspect-oriented Approaches to Model Driven
Engineering", In
proceedings of the International Conference on Software Engineering Research
and Practice, Las Vegas, Nevada, July 2008. (Acceptance rate 28%). PDF ______________________________ |