Today we swing the Sirius posts series onto another topic : using SVG images in your designers.
Maybe you do not know yet but we will have to fight Pixels monsters this summer :
Our mission: save the world. Our superpowered team: the SVenGers.
BMP
The story begins as any superhero blockbuster movie : a bad experiment generates a monster. So our first step in this post is to introduce a pixel monster in the world. We define as usual a metamodel. This time, it represents our SVenGers team :
Then we provide a Sirius specification project with a new kind of representation named PixelatedDiagram and a ScalableGirl mapping.
As we already saw in a previous post we use the Workspace Image style to modelize our team member.
We create a new instance of our metamodel which defines the team with the SVenGers superheroes:
And finally, a new diagram is created :
Up to there everything is fine.
But in our mapping definition we set that the node is resizable:
Consequently, the diagra...
Last time in the Sirius blog post series, you learned how to create an artificial container, today we will see how to create an infinite hierarchy of containers.
As an example we will represent the different dream levels featured in Inception :
We need to model dream levels and that levels can refer to other sub levels :
We develop a first Flat representation to show all the levels at the same stage :
A Flat diagram is created and a Level container is defined to represent all the levels defined in the model :
Thanks to this representation we see all the different dreams but it is not possible to understand how they are interlinked.
Next step we create a SubLevel diagram to represent the first three dream levels : A first container Level represents the reality, then we represent the second dream level thanks to the SubLevel container and finally the third level with another container named SubSubLevel.
For each container we retrieve the child level thanks to the le...
Continuing the Sirius blog posts series, today we will see a small tip: how to create artificial containers in your diagram?
One of the main advantage of Sirius is that the graphical representations are independent from the metamodel’s structure. This means that you can choose to not respect the containment hierarchy of your model when you display it graphically. This is possible thanks to Sirius being based on queries.
In the following example, we define a metamodel of a family:
To begin with, we define a Flat diagram, which displays all the members of the family at the same level:
In the Person mapping, we use the Semantic Candidates Expression to provide which semantic elements must be represented. These expressions returning model elements are called queries. To write these queries, there are different languages provided by default in Sirius: specialized interpreters (var, feature, service), Acceleo, raw OCL or Java. Here, we use the feature interpreter to get for a f...
This article is part 4 of a series covering cool features of Sirius and tips to create advanced modelers. See http://melb.enix.org/category/sirius/ for the complete series.
Today we will present how diagrams can be refined to display information using interpolated colors.
Diagrams with meaningful colors
In your Viewpoint Specification Model (VSM), the specifier is not limited to use the provided colors but can define a palette with custom colors. A color can be defined using a RGB code (Red/Green/Blue).
However, using this new color in a mapping will paint every mapping candidates to this color. As our goal is giving colors a meaning, it needs to be defined by an expression. Sirius provides two solutions: Computed Colors and Interpolated Colors.
Note that RGB codes are defined with three integer values between 0 and 255. If the value is over 255, Sirius will use it as a 255 value.
Diagrams with computed colors
Computed colors are alike RGB Colors but instead of choosing an int ...
Obeo était présent à Devoxx France 2015, l'un des évènement de référence de la communauté des développeurs français qui avait lieu à Paris, du 8 au 10 avril.
Pour cette quatrième édition, près de 2500 participants ont répondu présent pour assister à trois jours très riches composés de quelques 140 sessions.
Wouhaa ça en fait du monde à la keynote de @DevoxxFR #DevoxxFR pic.twitter.com/9OB5aQcKYV
— Guillaume LOURS (@glours) April 9, 2015
Au delà des technologies liées à Java, de nombreuses autres technologies ont également été abordées (Docker, Angular, objets connectés, développements mobile, architecture, etc.). Au programme également, Wayne Beaton et Benjamin Cabé de la fondation Eclipse ont présenté Eclipse Mars, la prochaine version de la plate-forme Open Source qui sortira en juin.
Talk about Eclipse is starting! #DevoxxFR pic.twitter.com/VelTtSSWlh
— Mikaël Barbero (@mikbarbero) April 10, 2015
Co-sponsors de la conférence, nous avons eu l'occasion de faire décou...