Académique Documents
Professionnel Documents
Culture Documents
Etienne Juliot
Obeo 7 Boulevard Ampre 44 481 Carquefou, France +33 2 51 13 51 42
Jrme Benois
Obeo 7 Boulevard Ampre 44 481 Carquefou, France +33 2 51 13 51 42
etienne.juliot@obeo.fr 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.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.
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.
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
Resource 90 days
30 days 5 days
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
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.
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.
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 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 17 shows that the background color of each line item "Server" is subject to the constraint <%dataBases.nSize>2%> expressed with the Acceleo syntax.
6. CONCLUSION
This article has focused on the implementation of viewpoints using Obeo Designer. 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.
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.
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