Viewpoints creation using Obeo Designer or how to build

Transcription

Viewpoints creation using Obeo Designer or how to build
Viewpoints creation using Obeo Designer or how to build
Eclipse DSM without being an expert developer?
Etienne Juliot
Jérôme Benois
Obeo
7 Boulevard Ampère
44 481 Carquefou, France
+33 2 51 13 51 42
Obeo
7 Boulevard Ampère
44 481 Carquefou, France
+33 2 51 13 51 42
[email protected]
[email protected]
ABSTRACT
This paper introduces the concept of viewpoint and shows how to
bring it into play. Starting with a simple example we will detail
the way to construct viewpoints based on a Domain Specific
Language. You have probably already heard about “Eclipse
Graphical Modeling Framework (GMF)” which allows you to
create your own modelers. The aim of this article is to teach you
how to go further and easily showing how to create your own
GMF modelers without having any knowledge about GMF!
Keywords
MDE, UML, DSL, DSM, Viewpoints, Eclipse, GMF.
1. INTRODUCTION
During the last two years we have seen appearing or evolving a lot
of generic languages. These languages have been supported by
frameworks to specialize behavior but introducing complexity and
verbosity of the programs. Recently major evolutions are referring
to language expressiveness in order to introduce directly in its
syntax expression capacities to provide a business semantic. So,
we have seen emerging new languages as Ruby, Groovy or Scala
which offer the possibility to be redefined through “Internal DSL”
[1]. It is about specifics syntax constructions allowing to change
language abstract level in order to specialize it to a given set of
issues.
Engineering world also provides mechanisms for adapting to
business contexts through two main mechanisms: UML profiles
provide a mechanism for extending the standard for introducing
specializations and "Domain Specific Language (DSL)” [3] which
is based on the metamodel definition dedicated to a specific
domain.
The choice between the two approaches has often been guided by
modeling tools gaps. Here we describe a new tool, Obeo
Designer, enabling through the realization of points of view,
manipulate both generic language that a specific language at
different levels of abstraction and provide a total freedom of
graphical representation. The ability to fully configure the
modeling environment offers new possibilities for creating
specific modelers.
This article begins by defining the core concepts used then we
will present Obeo Designer by an overview and its architecture.
After, we will illustrate by a case study.
2. BASIC CONCEPTS
2.1 DSM approach over MOF Models
We call "Domain Specific Modeler over MOF Models" the
approach to build environments based on modeling viewpoints
and operating models conform to MOF [4] standard. This
approach is divided into two subsets: “DSM over UML”, used to
create “homemade” diagrams via an UML profile; and “DSM
over DSL”, used to project information thanks to point of views
expressed by a specific language.
2.2 Semantic model
This is the model containing all the data handled. It conforms to
the metamodel of a specific domain, which may be a DSL or
UML [7].
2.3 Viewpoints
The notion of viewpoints is an abstraction that provides a
specification of a system, limited to a particular set of problems. It
was introduced in the specification IEEE 1471 [8]. In our context,
we use to provide our users a set of visual representations focused
on a particular concern. For example, one system can be
visualized through a dedicated view the performance constraints,
a view of the inheritances of business entities and a view to focus
on the dependencies of each entity. This use role or issue role
separation allows to better guide the user in a modeling approach.
It can thus easily understand the complexity of the modeled
system and the used language, by simpler and more accurate
representations.
Figure 1. Point of view applied on a sphere representing the
system.
2.4 Representation
A point of view provides a set of representations. This concept
defines a projection used to view or edit a set of semantic
concepts. A representation may be presented as a diagram, a table
or matrix.
3. OBEO DESIGNER OVERVIEW
Obeo Designer is an adaptive tool led by points of view. It
provides a setting environment to configure viewpoints and their
various representations. For each, it is possible to define what to
display and their graphic features, tool palettes, and their
associated behaviors. The graphical aspects are dissociated of
behavioral aspects.
This tool is characterized by its ease of use. In fact, learning such
a tool does not require an advanced level of expertise and opens
the way for new uses for designers. Obeo Designer uses an
"odesign" parameterizing template with an interpretive approach
to dynamically build a customized modeling environment. This is
illustrated in Figure 2.
possibilities offered by the « odesign » model. Thus it is possible
to define modelers without even knowing GMF technology.
The following table describes the estimated time needed for
building an industrial quality Relational modeler with the
following technologies:
Table 1. Technology/Resource comparison
Technology
Resource
User Profile
GEF + EMF
90 days
Eclipse
developer/Ergonomist
GMF Tooling
30 days
GMF Expert
Obeo Designer
5 days
Designer
4. USE CASE
4.1 Current viewpoint use case
We currently use the principles of viewpoints in three different
contexts:
4.1.1 Software mining
Figure 2. Obeo Designer overview
Obeo Designer is based on the Eclipse Modeling technological
base from which it takes part in these expandability capacities and
modularity. It is based on the frameworks EMF, GEF and GMF
that offer all the elements to build modelers. Figure 3 illustrates
the general architecture of the tool.
The point of view approach is particularly interesting in the
context of the software mining of existing legacy system,
following the reverse-engineering step. This type of use applies to
semantic models with a lot of information. The analysis needs are
so varied that the approach point of view offers an enormous gain
to classify such information by levels of abstraction.
4.1.2 Embedded Systems Modeling
We experienced Obeo Designer to build an embedded modeling
tool based on MARTE [6]. MARTE is an UML profile that
specializes UML in the field of the real-time systems and
embedded systems. The designer uses a vocabulary real-time
dedicated, without needing to know the full complexity of UML.
Figure 4 shows the three points of view created: application
software, temporal and platform execution.
Figure 3. Obeo Designer Architecture
GMF is a very powerful framework with very good modelers
ergonomics and standardization of the format for storing graphical
information. But it remains complex to understand and requires a
high level of expertise to build industrial quality modelers. Obeo
Designer hides this complexity. Indeed, the knowledge of GMF
experts who designed the solution is exposed through the
Figure 4. Obeo Designer UML/Marte Modeler
4.1.3 Information Systems Modeling
We use Obeo Designer to help the implementation of enterprise
applications (JavaEE, DotNet, etc.). This allows us to offer a
global view following the three areas:

Business: entities, persistence, data access

Component: processing, services, urbanization,

Presentation: cinematic, GUI.
Figure 7. Examples of nodes
4.3.2 Container Node Mapping
Container node mapping are elements in which nodes or other
containers may appear.
4.2 Viewpoints creation
The use case of this paper is the creation of two viewpoints based
on the information system metamodel. Indeed, we want to use the
information describing an information system following two
concerns. The first focuses on the database issues and the second
addresses the systems and networks issues.
Figure 8. Container example
4.3.3 Lists
Lists are specific types of containers to present nodes elements in
a list.
Figure 5. Use Case overview
In our example, an information system contains servers. These are
qualified by a name, a network address, a status indicating if they
are in production and their architecture (64bits or not). A server
can host a database engine. The latter is divided into schemas. A
schema is a set of tables which themselves contain columns
corresponding to any primary keys or foreign keys.
The viewpoint of database. We are interested in creating a
representation as a relational diagram. This diagram is used to
describe the structure of a database schema. Figure 6 illustrates
the creation of an « odesign » model containing viewpoint
database and a relational diagram representation.
Figure 9. List example
4.3.4 Edge Mapping
Edge mapping are links connecting two nodes and/or containers
of them.
Figure 6. Odesign model
4.3 Representation type
After this step, we define the graphical aspects of representation
"Relationship Diagram". So we have to define mappings between
semantic elements and their graphical representations. There are
several:
4.3.1 Node Mapping
A node mapping is a geometric figures with a label.
Figure 10. Connections example
4.4 Graphical diagram of the relational tables
We now focus on the creation of a list container for tables. This
container should contain a list of columns as illustrated in Figure
11:
The element « Container Creation Description Table » provides a
set of instructions and commands allowing the manipulation of
semantic and graphic elements to create table container. Using a
parameterization model simplifies many tasks once reserved for
experts (automatic application of stereotypes, splitted models,
saving a graphical element in several semantic elements, etc.)
Figure 11. Table graphical mapping
The element "Square Description" indicates the graphical used for
each node column. The component "Flat Container Color Black
Style Description ..." indicates the graphical aspect of containers
corresponding with tables.
Figure 12 illustrates the setup of a connection setting between a
column and a primary key to visually represent a foreign key
constraint. The visual appearance is defined by the « Edge Style
Description”. This element consists in a set of properties allowing
to define the type of line and the shape of the connection ends.
4.4.2 Query
The need to browse the model is very important in this kind of
algorithm. In response, the use of OCL [5] or Acceleo [2]
language to browse the semantic and graphical models is
proposed.
4.4.3 Eclipse integration
Figure 15 illustrates the final result.
Figure 12. Foreign keys connections mapping
With only this basic setup, the result is a new type of diagram
« Relational Diagram » available in the modeling environment
when the viewpoint « Database » is selected.
Figure 15. Relationship Diagram modeler
Figure 13. Relational Diagram modeler
4.4.1 The Palette
As it stands, this representation can only visualize the semantic
elements of our information system. We should add tools for the
creation of tables, columns, primary keys and others in order to
have a functional relational diagram modeler. These tools and
corresponding launched actions are also modeled. Figure 14
illustrates the tools setup to create tables, columns, and foreign
keys:
The first two things that strike are the fully integration into
Eclipse (thus avoiding the juggling not included multiple tools)
and the « pretty » character resulting modelers. The latter criterion
may seem fun, but our feedbacks show that it is one of the major
factor in the acceptance of the doings of modeling.
To ensure a daily productivity, the modeling environment
proposes:

a browser for the models and viewpoints;

an Outline view focused on the current container;

an adjustable Properties view;

graphic features for zoom, routing, automatic layout,
exports, etc.;

the terms of filters(to hide/ display elements following
criterions enable to be setup);

layers allowing different analysis levels.
Other kind of viewpoints on semantic elements may now be
created.
The viewpoints of systems and networks. From the same
semantic information, we created a viewpoint dedicated to
Figure 14. Tools to create tables, columns, etc.
systems and networks issues. In the odesign model we add a
tabular representation named “Servers List”.
10 custom views of the same system to facilitate its analysis and
design.
In this case study we have implemented two viewpoints to the use
of two different populations: developers and database
administrators and network systems. They can speak in a language
of their own while sharing the same semantic space.
Figure 16. Odesign model
4.4.4 Tabular representation
The aim of this representation will be to list the servers of the
information system, their status and to calculate the number of
databases they host. A tabular representation consists in rows and
columns and allows a mass capture or an "Excel" analysis. It is
then necessary to define how to input them from the semantic
elements using the following concepts:

correspondence of lines(Line Mapping): to specify
semantic element involved;

correspondence of columns (Feature Column Mapping):
to specify a property of the semantic element. The
content of a column may also be the result of an OCL or
Acceleo query for more advanced treatment.
Figure 17 shows that the background color of each line item
"Server" is subject to the constraint “<%dataBases.nSize>2%>”
expressed with the Acceleo syntax.
5. UML VS DSL OR UML AND DSL?
Who has ever tried to create complex queries on a relational
database using an oriented object model will understand dedicated
language such as SQL is probably more appropriate. Why should
it be different in the modeling languages?
Why store information on the screens, widgets, etc. in classes or
methods stereotypical? Our recommendation is simple: using
UML for what was expected. If your semantic moves away
sharply, avoid the profusion of stereotypes, focusing on a DSL.
Thus, DSL is not against UML and complement each other.
Through the use of viewpoints, it is increasingly easy to find the
representations recommended by UML (sequence, states /
transitions, components, etc.) for DSL, or even models mixing
DSL / UML.
Finally, it becomes possible to regain the freedom of DSL
vocabulary and a graphic representation as simple as PowerPoint,
while storing the semantic information in an UML model.
6. CONCLUSION
This article has focused on the implementation of viewpoints
using Obeo Designer.
Figure 17. Line Mapping example
Similarly it is possible to model behaviors in the Palette of tools
of charts, tables setup allows the definition of actions from the
right click on the cells.
Given the abundance of concepts and notations that can propose a
modeling language, this case was intended to initiate the use of
the viewpoints approach. The goal of this approach is to separate
concerns by area and thus increase the level of expressiveness.
The advantage of such a solution lies in its simplicity of handling
in order to make it accessible to all, the implementation of DSM.
7. REFERENCES
[1] Internal DSL:
http://martinfowler.com/dslwip/InternalOverview.html
[2] Acceleo, Eclipse project: http://www.eclipse.org/acceleo
[3] DSL: http://en.wikipedia.org/wiki/Domain-specific_language
[4] MOF (Meta Object Facility): http://www.omg.org/mof/
[5] OCL (Object Constraint Language):
http://www.omg.org/spec/OCL/2.0/
Figure 18. Servers List table
The final result is illustrated by Figure 18. A new type of
representation "Servers List" is accessible within the Obeo
Designer modeling environment. The editor provides a
spreadsheet to edit the properties of all servers in the information
system.
We could supplement this viewpoint by adding representations in
diagrams to model the network topology, for example. We also
found that viewpoints users have tended to create 1, then 5, then
[6] MARTE (Modeling and Analysis of Real-Time and
Embedded systems): http://www.omgmarte.org/
[7] UML (Unified Modeling Language): http://www.uml.org/
[8] IEEE 1471: http://en.wikipedia.org/wiki/IEEE_1471