Skip to content

Blogs

INRIA Postdoc position in MDE and Cloud Computing available

Software Modeling Blog - Sun, 02/05/2012 - 02:58
Join AtlanMod as an INRIA postdoc for 16 months. You can read below the proposed description (though we are open to listen to your preferred topics if you want to propose your own and fits our research interests). To apply, please visit the INRIA recruitment page and select the position entitled “ATLANMOD – Modeling in
Categories: Blogs

Free and online Model Thinking course

Software Modeling Blog - Fri, 02/03/2012 - 07:41
You can now register for this free and online course on Model Thinking. From the course web page: “Evidence shows that people who think with models consistently outperform those who don’t. And, moreover people who think with lots of models outperform people who use only one. … Models help us to better organize information. Models
Categories: Blogs

Creating DSLs, a word of caution

Software Modeling Blog - Tue, 01/31/2012 - 10:09
As all (relatively) new techniques, we are still in the process of learning when and how creating a DSLs is the best solution for a given software development scenario. Otherwise, we may end up following again the technology hype cycle (as already happened with UML; we are still paying the consequences) and fall trap of
Categories: Blogs

Why did I fail with the online code-generation services – Advise(II): Don’t sell to developers

Software Modeling Blog - Thu, 01/26/2012 - 08:21
(cross-posted from the “Stories of a (failed) entrepreneur” blog) This is the second in a series of posts trying to explain what I think went wrong with my attempt of selling online code-generation services, that I end up giving up for free due to the lack of clients. In the previous post, I recommended to
Categories: Blogs

Code Generation 2012 – Programme available

Software Modeling Blog - Mon, 01/23/2012 - 14:01
You can now check the very interesting talks awaiting for you at this year’s edition of the Code Generation conference, the “leading event on the practical applications of Model-Driven Software Development (MDSD). … This reputation has been built up by attracting industry-recognised experts to share their experiences at the conference.” If you enjoyed this post
Categories: Blogs

First 50 terms in the MDE Glossary

Software Modeling Blog - Sun, 01/22/2012 - 17:04
The first milestone of our MDE Glossary has been achieved this week. Slow but steady, the first 50 terms are now in. Many more are still missing but we’ll go there. By the way, the order in which I add terms in the Glossary is completely random. The first 50 are neither the most important
Categories: Blogs

Using Model Driven Mechanism to Explain Model Driven Software Development

Think in Models - Mountriver TY Yu - Thu, 01/19/2012 - 15:11

In the beginning, the model driven mechanism is a group of principles we summed up in the design of software. Then found that it was a structural fundamental appeared in a wide range of systems, as well as to MDE/MDSD.

In the “Presentation on Model-Driven Mechanism in Information Systems and Enterprise Engineering“, mentioned that “MDM is the common fundament for both MDS and MDA/MDD.” Yet, presented a illustration for “A demand-driven architectural framework for development of ISs, based on MDM” and pointed out “this is also an explanation about the system of model driven development.”(P16)

The Figure 1 is a simplified graph for MDM, may be called as the triangle of MDM. Note that, for the relationship between the applied models and the operational device, from a black-box perspective (i.e. the whole of the system), we can dynamically change some functions or behaviors (output) through changing the models, this is why called it model-driven; from a white-box perspective (i.e. inside of the system), the device reads and uses the data of the models according to the modeling knowledge to make of its functions and behaviors. (It has used executing but it may be referred to some special meanings in the context.)

MDM in traditional software development system

f2-mdm-traditional-sd

In a traditional software development system (organization), the programmers reading and understanding the design documents according to some specifications for them. In fact, there are much knowledge for understanding / using the documents correctly, from languages, glossaries to rules, habits and so on. You can give the different models (the documents) according to the knowledge the programmers known, then they will produce the code expected.

MDM in a model driven software development system using a model-transformation approach

f3-mdm-code-gen

In a model driven software development system, for example, by a model-transformation approach, the applied model will be of the target application system in such as UML at the level 1 of the metamodeling layers of MDA. The modeling knowledge will be the metamodels to the level 2, including the transforming rules (model) as well. A code-generator as the operational device in MDM will reads / uses the models of the target than produces the code. You can give it different models to get different expected code of the target system, as long as in compliance with the metamodels.

A model driven enterprise application framework based on MDM

Of course, these may merely be the common sense in the field of MDE, but they are good examples to prove the universality of MDM, at least. One of our focus for MDM is the Model Driven Systems (MDS), which has the characteristics to dynamically changing its functions or behaviors through change the applied models at runtime. For example, see the Figure 4.

f4-mdea-mdm

From a programmer’s perspective, a huge difference between a traditional application and the model driven application is, the enterprise / business models (such as a data structure of a purchase order) will be hard-coded in software for the former, and for the latter, it will be only hard-coded some rules / specifications (the metamodel) to define an order, so, the users will be able to change such the order format (or define a new form) when running the application system.

Finally, we can see, MDSD and MDS are the different things on the same principle, that is, the model driven mechanism (MDM). They are not contradictory. One can use the MDSD approach to develop a MDS as well.


Filed under: Architecture, Models & Modeling Tagged: MDApp, MDE, MDM, MDS, MDSD, Model-Driven
Categories: Blogs

CloudMDE 2012 – 1st Int. Workshop on Model-Driven Engineering on and for the Cloud

Software Modeling Blog - Thu, 01/19/2012 - 10:40
The goal of this CloudMDE workshop I’m co-organizing (together with Richard Paige, Marco Brambilla, Marsha Chechik and Parastoo Mohagheghi) is to bring together researchers and practitioners working in MDE or cloud computing, who are interested in identifying, developing or building on existing synergies. We aim to identify opportunities for using MDE to support the development
Categories: Blogs

New OCL version available: OCL 2.3.1

Software Modeling Blog - Wed, 01/18/2012 - 22:51
Two years after the previous version (OCL 2.2), the OMG has now released the new OCL version: OCL 2.3.1. What’s new in this version? Well, not much, only a bunch of minor issues/typos that needed to be fixed. In fact, I’m not sure if this is a good thing or not. A standard that basically
Categories: Blogs

Interaction Flow Modeling Language RFP is now out

Software Modeling Blog - Tue, 01/17/2012 - 13:14
OMG has now issued the official request for proposal (RFP) for IFML (Interaction Flow Modeling Language), a domain-specific modeling language for expressing the content, user interaction and control behaviour of the front-end of applications. You can learn more about the standardization process of IFML here and read my view on the language in this previous
Categories: Blogs

A Presentation on Model-Driven Mechanism in Information Systems and Enterprise Engineering

Think in Models - Mountriver TY Yu - Sat, 01/14/2012 - 18:28

This is a presentation (slide) in ppt format: Model-Driven Mechanism in Information Systems and Enterprise Engineering. it is an extract from a lecture of mine on “Enterprise, Model, and Information System” at Management School, Jinan University, Guangzhou, China, on September 23, 2007[*]. This extract with a little of modification is around the concept of model driven mechanism (MDM) and the relevant concept model driven systems (MDS). I have mentioned them in some posts on my blog, such as A Roadmap of Research for Enterprise Applications and Model-Driven: An Essential Requirement Come from Customers. I have also uploaded it on SlideSharet but it appeared very poor after the conversion on the site. so, I recommend to download the file to watch - there are some animations in the slide, in aid of the illustration to the ideas.

MDM-20120114

[*] The original file of the lecture at http://www.ee-forum.org/downloads/ty_jnu070917a.pps (in Chinese)

Last updated on January 15, 2012

1. P20, removed the PDCA cycle: it was with more explaining but not included in this vision.
2. P22, the order to showing the 4 labels on the MDM triangle, it is now appeared at the beginning.
3. P24, corrected the error at “Martin, James (2005)” to (1995).

(previous version: ty_jnu07_mdm.ppt)


Filed under: Applications, Architecture, Enterprises, Models & Modeling Tagged: Enterprise-Engineering, Information-System, MDApp, MDM, MDS
Categories: Blogs

Language Workbench Challenge 2012

Software Modeling Blog - Thu, 01/12/2012 - 13:47
The list of participants in this year’s edition of the Language Workbench Challenge is now available. The web page also has the results of the inaugural edition last year, with a very interesting matrix comparing the different language workbenches that participated. For sure, LWC is the best place to get an overview of current language
Categories: Blogs

Tutorial: How to change the color of inactive selected items in Windows 7

Since I upgraded to a Windows 7 machine I had a problem seeing which element was selected in my Enterprise Architect project browser.

Not when it was selected and active (dark-blue), but when I went on to work on something in a diagram.

The standard “inactive selection color” of Windows 7 is just too faint.

To illustrate that, look at the picture on the left and try to figure out which element is actually selected.

Well, if you look really carefully you’ll notice that the background of “Primitive1″ is actually just the slightest bit darker then the rest of the background.

When I first noticed this I tried to fix it by changing my monitor settings, but no amount of brightness, contrast  or color balance changes made the selection more visible without messing up everything else.

So then I started googling and I soon found the solution:

  • Select Start|Control Panel|Change the Theme
  • Once there choose Window Color
  • And Advanced appearance settings…
  • Then choose 3D objects as item and click on the dropdown for Color 1:  and click on Other…
  • Here you move the triangle on the right just a few nudges down
  • Now OK and Apply and wait until Windows has applied the settings.
  • Now check the inactive selection color again in EA. If all is well it should now look like this:
  • To be sure that you don’t loose this setting you can save your theme in the personalization window.

Categories: Blogs

SimpleOCL tool

Software Modeling Blog - Mon, 01/09/2012 - 21:04
SimpleOCL is a new addition to our OCL tool list. SimpleOCL is a proof-of-concept implementation of the OCL standard, built on top of theEclipse Modeling Framework (EMF)and EMFText. It started as an embeddable OCL implementation for inclusion in transformation languages for the EMF Transformation Virtual Machine (EMFTVM). EMFTVM allows integrated execution of heterogeneous model transformation languages. EMFTVM is
Categories: Blogs

EA Navigator 2.1 released

With the current release 2.1 the EA Navigator has now matured into a real product that will make the life of any Enterprise Architect user a lot easier.
I can know, as it’s primary user I use it constantly during my daily modelling tasks, and I can assure you that it has already saved me heaps of time.

And because any real product should have a logo, so I proudly present to you: The EA navigator logo.

After the complete re-factoring  of version 2.0 version 2.1 has been more about polishing and refining. I’v been using my own user feedback to enhance the existing features, and add the features I was missing.

One of the things I’ve been focusing on  is the bi-directionality of all navigate features. So if I can navigate from an operation to the sequence diagrams that use it, then I also want to be able to navigate from that sequence diagram back to the operations it shows.

What’s new in EA Navigator 2.1 New and improved icons

Most of the icons used in the navigator window have gotten an update. The folder icons now already show what kind of elements can be found here.

Tagged values

In Enterprise Architect you can define “RefGUID” style tagged values is you want to link an element to another element (see EA Manual for more information).
This is a flexible way to add your own customized relations to the model.

All tagged values of a class are being examined. If their value is a reference to another element they will show up in the navigator:

Referencing Tagged Values

The referencing tagged values allow for navigation in the other direction. It will show all RefGUID style tagged values that reference the selected element.
This feature is available for all types of elements.

Owner

The owner feature simply allows to navigate further to the owner of the element. This feature is available for all types of elements.

The owner feature is a bit special as it doesn’t have a folder that you have to open, but it shows directly under the selected element.

Sequence diagram operations

Starting from a sequence diagram you can now quickly navigate to all operations called on the diagram. This sequence diagram

shows up like this in the EA Navigator window

Other changes
  • Attribute Type
    The attribute type’s behavior has been changed to show without a containing folder, just like the owner feature.
  • Relationship select
    Relationships can now also be selected. Selecting a Relationship will select it’s source, except for sequence diagram messages, they open their sequence diagram when double-clicked.
  • Number of items in window
    The number of items retained in the navigator window has been increased to 50.
  • Implementation to operation
    From a Behavior (Interaction, Statemachine or Activity) or from a diagram contained by such an element can be navigated to the operation it is implementing.
  • Add/Remove programs Icon 
    The EA Navigator now has its own icon that shows up in the add/remove programs, to easily identify the add-in among all other installed programs.
Downloads More Information

More information about the EA Navigator add-in for Enterprise Architect can be found here:


Categories: Blogs

ERCIM news on Evolving Software – Featuring MoDisco and many others

Software Modeling Blog - Wed, 01/04/2012 - 01:25
The latest issue of ERCIM news has as special theme “Evolving Software”. As the editors say, “software evolution will always remain inevitable due to a wide variety of factors … To accommodate these change requests, the software product needs to be changed and improved on a regular basis. In parallel to this, the software process
Categories: Blogs

Top 10 modeling posts of the year

Software Modeling Blog - Wed, 12/28/2011 - 19:26
(well, since we moved to WP in June, these stats only reflect the visits during this second half of the year). The top 10 posts/pages of this site, according to the number of visits (thanks to the data collected by the WP popular posts plugin), have been: UML tools 10599 view(s) Herramientas para UML 6921
Categories: Blogs

List of Executable UML tools

Software Modeling Blog - Wed, 12/21/2011 - 01:58
It looks like Executable UML is getting increasingly popular (again) maybe because the new Executable UML standards (fuml and Alf) we have now available. Executable UML aims at defining UML models with a behavioral specification precise enough to be effectively executed. In its purest state, Executable UML eliminates the need of programming the software system.
Categories: Blogs

Do you want to discard this editor's changes ?

Model Driven Blogging - Cédric Brun - Fri, 12/16/2011 - 18:55
If you've used EMF editors you probably already have seen this kind of dialog :




This happens when you did change your model and some external changes (aka somebody else changed your file) happened before you pressed "save".  This is not only an EMF problem, any editor has kind of problematic. Either way the end user have a very hard time undestanding why he has to pick one or the other version as most of the time these changes are not conflicting !

Is that the best we can do ?  Another option is to compare both versions, detect conflicts, and if there is no conflicts, just merge the changes.



Here I changed the number of pages in the EMF Book from the model, and changed the title through the textual editor. When going back on my editor, the comparison, conflict detection and then merge process happens and I get this :



And when I have conflicts?  Then the editor can't do much, right, at least it can helps you and show you the conflict :






How is it implemented ? That's fairly easy using emf and it's diff/merge support :


The general process is : the editor tells the WorkspaceSync class when it got saved (or freshly loaded) . This WorkspaceSync keep a copy of the state of the editor as "ancestor". When an event comes from the workspace, the editor version and the workspace versions are compared using the original copy as a common ancestor to detect conflicts. If there is no conflict, it merges, if there is at least one conflict it asks user.

  The drawback is clear with this implementation : you're keeping around - in memory - a copy of your model to be able to detect conflicts later on.  As such that solution is not for every case.

Other options are possible and might be great ways to exercise your EMF skills, if you try something, tell me !
Categories: Blogs

An Architecture Model for Cognition, Information Systems as well…

Think in Models - Mountriver TY Yu - Fri, 12/16/2011 - 18:00

In recent post I told about the cognitive (triangle) cycle and the cognitive structure triangle. Further, A cognitive architecture (core) model could be formed through join these two models together, see Figure 1.

ty-cognitive-auchitecture-model

Figure 1. Cognitive Architecture Model

Thinking making Thories, Thories deciding Action, Action imposing on Objects, Objects providing Feeling, Felling building Models, Models supporting Thinking… In this model, all the positions and the sequence are important. However, my motive to think of these was not to attempt to cross-border to research cognitive issue. To me, this model, almost a model of architecture for information systems, though it might not be quite obvious.

Firstly, the ‘objects’ just common objects but not the OO’s objects, and it needs to make more sophisicated or rigorous definations to the concepts such as models and theories, and the relationships with the concepts in software field…


Filed under: Architecture Tagged: Architectural-Model, cognition, Information-System
Categories: Blogs