Title: Antonio Vallecillo
1Model-Driven Engineering inGISUM (Málaga)
- Antonio Vallecillo
- University of Málaga
- Web Engineering models and notations
- Meeting Munïch, December 2006
2Agenda
- Málaga node
- Our research topics
- MDWE Proposals Integration
- MDWAF
3Málaga Node
4GISUM
- Grupo de Ingeniería del Software de la
Universidad de Málaga - Established in 1989 by Prof. José María Troya
- Within the Dept. Lenguajes y Ciencias de la
Computación (Languages and Computer Science),
Universidad de Málaga - Activities (research, teaching)
- centered around distributed software systems
- Composition
- 2 full professors, 18 associate professors, 16
assistant professors - 30 PhD students (granted/contracted)
- Present in several organizations related to its
research activities (OMG, ISO, ITU-T, ...)
5Main Research lines
- Software components and architecture
- Software Quality
- Model-driven development
- Security
- Embedded systems
- Real time systems
- Collaborative Virtual Environments
- Formal methods
- Genetic Algorithms
6GISUM Research lines
- Distributed Systems
- Ernesto Pimentel
- Manuel Díaz
- Lidia Fuentes
- Francisco Durán
- Antonio Vallecillo
- Genetic and evolutive algorithms
- Enrique Alba y Carlos Cotta
- Security
- Javier López
- Others (e.g. BD)
7GISUM Distributed Systems
- Formal methods
- Ernesto Pimentel (leader), Fco. Durán,
- Embedded and P2P systems
- Manuel Díaz (leader),
- Aspects
- Lidia Fuentes (leader),
- ODP, MDD, Quality
- A. Vallecillo (leader)
- Luis Iribarne (UA)
- Manuel F. Bertoa
- José R. Romero (UCO)
- Nathalie Moreno
- José E. Rivera
81 Software quality and measurement
- Topics
- A Quality Model for software components
- Usability measures for software componentes
- Software Measurement terminology
- Tools for evaluating commercial software
components quality - Evaluation of process quality in industrial
environments - People
- A.Vallecillo, Manuel F. Bertoa
- M. Piattini, C.Calero (U. Castilla-La Mancha),
other research groups - Funded/Sponsored/Supported by
- MCYT (TIC project), National Network on Quality,
Proc. Uno, Coritel (Accenture) - Main results so far
- 2 JCR journals, 1 in progress
- 1 prototype of a tool for evaluating the
usability of sw components - 1 PhD (M.F. Bertoa)
92 Open Distributed Processing (ODP)
- Topics
- Formalization of ODP viewpoints (using Maude)
- Revision of the RM-ODP
- Edition of ITU-T X.906 ISO/IEC 19793 Use of
UML for ODP systems specification - Viewpoint modeling
- Viewpoint consistency
- People
- A. Vallecillo, José R. Romero, Fco. Durán
- ISO/JTC1/SC7 WG19, ITU-T SG17, Bryan Wood,
Peter Linington, Akira Tanaka, Sandy
Tyndale-Biscoe, Joaquin Miller - Funded/Sponsored/Supported by
- MCYT (TIC project), AENOR, NASA/JPL, EDF
- Main results so far
- 3 JCR journals, 1 in progress
- Prototype for executing and analysing ODP
computational specs in Maude - 1 PhD soon (José R. Romero)
103 Model Driven Development
- Topics
- Model-driven framework for Web Engineering
(MDWAF) - UML Profile and Metamodel for WebML
- Model transformations
- Use of UML for ODP system specifications.
Metamodels and Profiles - People
- A. Vallecillo, Nathalie Moreno
- Jean Bézivin, Alfonso Pierantonio, Jeff Gray
- Piero Fraternalli
- Funded/Sponsored/Supported by
- MCYT (TIC project), National Network on MDD,
AENOR - Main results so far
- 1 JCR journal, 3 journals in progress
- 1 PhD soon (Nathalie)
- MDWAF and WebML metamodels and profiles
11Agenda
- Málaga Node
- Our research topics
- MDWE Proposals Integration
- MDWAF
12MDWE proposals integration (1/2)
- Option 1 Individual metamodels and
transformations between them - Assumptions
- There is no common metamodel, or
- No agreement is reached w.r.t. a common
metamodel, or - The common metamodel is not expressive enough, or
- Transformations are possible between all
individual metamodels - Benefits/advantages
- Individuality is respected
- Tools are readily available
- Zoos (model repositories) can be easily built
and maintained to share models - Disadvantages
- Integration and interoperation are much more
difficult - Sharing tools is complicated
- Too many transformations n(n-1)
13MDWE proposals integration (2/2)
- Option 2 Common metamodel
- Assumptions
- There is a common metamodel
- An agreement is reached w.r.t. such a common
metamodel - The common metamodel is expressive enough
- Transformations are possible to/from all
individual metamodels - Benefits/advantages
- Integration and interoperation are easier
- Sharing tools is possible
- Core competencies (Presentation/Information/tools/
) - Less transformations between metamodels 2n
- Disadvantages
- Individuality is somehow lost
- Too many assumptions
- Interoperability conflicts between different
proposals
14Generic and Core metamodels
- MDWE proposals share a common core of concepts
and mechanisms - But they in how they extend it and implement some
of these mechanisms
15Generic and Core metamodels
16A common metamodel?
- Should the common metamodel be
- Just the generic and core metamodel?
- The INTERSECTION of the metamodels?
- The UNION of the metamodels?
- Is such a common metamodel possible?
- How to deal with potential conflicts?
- How to integrate models coming from different
proposals? - How to integrate tools from different proposals?
- This is precisely what Nathalie has been
investigating for the last 2 years
17Agenda
- Málaga Node
- Our research topics
- MDWE Proposals Integration
- MDWAF
18Whats MDWAF?
- MDWAF is an architectural framework for
organizing the models that address the different
concerns of Web applications - Far from being yet another Web methodology, the
aims of MDWAF can be summarized as follows - to be able to represent, in terms of models and
relationships between them, the concerns required
for designing and developing Web applications
following an architectural separation of
concerns as prescribed by MDA (PIMs, PSMs,
transformations, ..) - to integrate and harmonize the models and
practices proposed by existing approaches,
addressing their concerns - to provide as a common framework (and metamodel)
in which current proposals could be integrated
and formulated in terms of the MDA principles,
hence allowing them to smoothly interoperate and
complement each other, share tools, etc.
19MDWAF concerns I
20MDWAF concerns II
- MDWAF concerns come from
- The concerns covered by MDWE proposals
- New requirements for developing Web applications
that integrate third party systems - Models covered by MDWE proposals
21Why is different the Conceptual Model
- The Conceptual Model can be used
-
- For specifying the basic structure and contents
on the Web application (so the rest of the views
can relate to the elements of that model), and - To maintain the consistency of the model
specifications establishing how the different
viewpoints merge and complement each other - It plays a relevant role when the Web application
design integrates third party system models using
heterogeneous notations, terminology or even
different platforms on which being executed
22Modeling MDWAF concerns
- Using MOF metamodels
- Using UML Profiles
23MDWAF development process
- MDWAF is supported by a methodology to guide the
development process of a Web application - From scratch
- Reusing models and tools coming from other Web
methodologies - MDWAF does not assume that the design of a Web
application will always start from scratch - It is designed to allow the reuse of models and
tools - Strategies for addressing integration conflicts
when integrating models that represent different
views of the same system - A set of adapters for solving integration
mitmaches at model level - Some issues we have addressed
- When models do not share a common terminology
- When models use services which are provided by
other models - When the levels of abstraction do not coincide
- When the model integrates several of our
framework concerns
24From scratch
25Reusing models and Tools
- Proof of concept The Conference Review System
- OO-H/Visual Wade supported the design and PHP
code generation of the User Interface Level. - WebML/WebRatio supported the design and
management of a MySQL database at the Data Level.
- The business logic of the application has been
specified using the Xion action language,
supported by the the Netsilon tool that generates
code for PHP and Java.
26Reusing models and Tools
27Reusing models and Tools
- The previous combination of tools and
methodologies will allow us - to preserve the separation of concerns proposed
by MDWAF and, - to generate code re-using different models and
tools. - In particular, we have re-used the OO-H and WebML
models for this example, faithfully taken from
the Proceedings of IWWOST01.
28Interoperability
- How MDWAF achieve interoperability
- By defining, e.g., interoperability bridges
between compatible models coming from different
proposals, whenever this is possible - Correspondences between MDWAF and other Web
Methodologies that allow us to derive the
counterpart of a Web model
29Ex Interoperability at the User Interface
Viewpoint
Table 1. Correspondences between MDWAF User
Interface Structure and other methodologies
concepts
Table 2. Correspondences between MDWAF Navigation
model and other methodologies concepts
30Summary of MDWAF
- It provides a model-based framework for Web
application design - It provides a common ground shared by most MDWE
proposals - MDWAF can be used both to build Web applications
from scratch and to design and implement
applications reusing models and tools coming from
different proposals - To be able to achieve this goal, we have
identified and solved some of the issues that
need to be addressed
31Future Research
- Ongoing efforts are focused on tool support
- The majority of MDD CASE tools are not
Web-specific, and do not allow the smooth
integration of all OMG tools (OCL, QVT, etc) - We are working on a tool that integrate all the
notations and engines that we need, and that can
automatically generate the OCL constraints and
the glue (i.e., QVT relations) for the three
viewpoints based on the Conceptual model, no
matter whether the models are developed from
scratch or imported from other methodologies
32Some issues for discussion
- Which option to go?
- Common metamodel
- Individual zoos automatically maintained
- Which metamodel to use?
- MOF? EMOF? ECORE? KM3?
- Should we be OMG-compatible?
- Using OMG standards for MDA (MOF, UML, QVT, )
- Using other standards and keeping consistency
(ATLAS way) - Dont mind.
- Which modeling tool?
- They do not interoperate!
- MagicDraw, EA, Eclipse-based,
- Combinations of those?
- Which model transformation tools?
- Supporting QVT (Together)
- Graph-based (AGG, VIATRA, ATOM3,)
- Others (ATL, AMW, )