Archive for the ‘Modeling’ Category

Exploring the UML Metamodel with our new free UML2 Metamodel Viewer

Tuesday, December 8th, 2009

Hello,

if you you need to use the UML2 Metamodel in some way for your work you will have noticed, that it is not easy to develop an understanding of the Metamodel, even less to learn quickly about the classes, their attributes and their relations to other classes. Basically there are only the official specifications from the OMG which are a bit dry to read.

Enter our new, free UML2  Metamodel Viewer!

The UML2 Metamodel Viewer is a standalone Windows application that can be used to browse the package structure of the UML2 Metamodel and explore the contained classes. In addition, it is possible to draw diagrams from these classes in a semi automatic way.

Here is a screenshot of the main window:

Main Window of the UML Metamodel ViewerMain Window of the UML Metamodel Viewer

To create a diagram simply add a new diagram to your project and drag one or more classes from the Model Explorer to the diagram. For example, here is a diagram with the class Kernel::Classes::Class:

UML Metamodel Viewer with a diagram

UML Metamodel Viewer with a diagram

One of the neat features is that the related classes (superclasses and classes that are used in relations) are automatically added to the diagram. This is an easy way to see the “context” of a given class.

The installer comes with a manual that should get you started using the UML2 Metamodel Viewer.

There is a catch: currently UML2 Metamodel Viewer relies on some third party software (namely the Graphviz package and the UmlGraph package – the latter additionally requires a Java Development Kit) that must be installed and configured so that diagrams can be created.

This is a 1.0 release,  so you will surely find bugs using this software.  Please report bugs and feature suggestions to support@empowertec.de. We definitely appreciate your feedback! We plan to actively support this software, which means of course fixing bugs but also implementing new features depending on demand and effort.

The software is based on the cmof-files that define the UML2 Metamodel.

Best regards,
Andreas

Technorati Tags: , ,

Oclarity/XMI 1.6.0 released

Monday, January 26th, 2009

Hello,

we just released version Oclarity/XMI version 1.6.0.

This is mostly a bug fix release.

We updated the XMI reader so that it processes the XMI files written by the latest version of Enterprise Architect correctly and we improved the OCL parser and semantic checker.

Here is a list of all changes.

Oclarity/XMI is a free tool for checking OCL expressions against XMI files. If you have any problems, questions or suggestions about Oclarity/XMI please do not hesitate to contact us.

Best regards,
Andreas

Technorati Tags: , ,

Oclarity/XMI 1.5.0 released

Monday, January 5th, 2009

Hello,

we have just released Oclarity/XMI version 1.5.0. This version contains updated third party libraries and the time limitation of the previously released version is removed. There are no functional changes.

Oclarity/XMI is a free tool for checking OCL expressions against XMI files. If you have any problems or questions about Oclarity/XMI please do not hesitate to contact us.

Best regards,
Andreas

Technorati Tags: , ,

Proceedings of the 8th OCL workshop now available online

Monday, November 3rd, 2008

Hello,

if you are interested in the Object Constraint Language OCL you will find a lot of interesting information in the the proceedings of the 8th OCL workshop:

There where 4 sessions in the workshop but the talks do not always fit fine to the session. I’d rather categorize the talks like this:

  • Implementing OCL
  • Applying OCL
  • OCL tools

Best regards,
Andreas

Technorati Tags: , ,

Proceedings of the 3rd Workshop On Quality In Modeling now available online

Monday, October 13th, 2008

Hello,

the proceedings of the 3rd Workshop On Quality in Modeling are now available online.

They cover these talks:

Design of a Functional Size Measurement Procedure for a Model-Driven Software Development Method
Beatriz Marín, Nelly Condori-Fernández, and Oscar Pastor

A proactive process-driven approach in the quest for high quality UML models
Gianna Reggio, Egidio Astesiano, and Filippo Ricca

Description and Implementation of a Style Guide for UML
Mohammed Hindawi, Lionel Morel, Régis Aubry, Jean-Louis Sourrouille

A Combined Global-Analytical Quality Framework for Data Models
Jonathan Lemaitre, and Jean-Luc Hainaut

Empirical Validation of Measures for UML Class Diagrams: A Meta-Analysis Study
M. Esperanza Manso, José A. Cruz-Lemus, Marcela Genero, Mario Piattini

Towards a Tool-Supported Quality Model for Model-Driven Engineering
Parastoo Mohagheghi, Vegard Dehlen, Tor Neple

Have fun,
Andreas

Technorati Tags: , ,

UML usage survey

Wednesday, June 4th, 2008

Hello,

some time ago :-) Julio Cesar Sampaio do Prado Leite has published some numbers from a survey on the usage of UML. There was only a relatively small number of participants but since it is so hard to learn about actual industry projects using the UML it is still an interesting read.

Best regards,
Andreas

Technorati Tags:

Call for papers for the Third international workshop on Quality in Modeling

Tuesday, May 27th, 2008

Hello,

on the puml mailinglist a call for papers for the Third international workshop on Quality in Modeling was issued. It is part of the MODELS ‘08 conference which takes place in Toulouse, France at 28 September – 3 October.

From the announcement:

The goal of this workshop is to gather researchers and practitioners interested in the emerging issues of quality in the context of Model-Driven Engineering (MDE). Discussions will take a large place and could address issues such as early quality control based on models at a high abstraction level, building prediction models for software quality based on model metrics, relationship between model quality and software product quality, quality control, etc. Submissions related to ongoing industrial projects aiming to increase quality are encouraged.

It’s surely an interesting workshop.

Proceedings of the first and second workshop can be found here and here.

Best regards,
Andreas

Technorati Tags:

Is UML alive and well?

Wednesday, May 21st, 2008

Hello,

Jason Gorman from parlezuml.com made a comment on a posting that stated that the UML has failed and is no longer relevant. Basically Jason says that some of the authors arguments are correct but others are not and that – all in all – “UML is alive and well”.

The comments on the original posting are mostly affirmative, but there are also some comments in the defense of the UML.

I’d like to add another thought: the companies and organizations that use the UML more rigorous (and thus possibly discover its benefits) are usually large companies and organizations, often in the military sector or working on embedded software. Project workers in these types of organizations usually have neither the time nor the interest to hang out in the internet and read blogs and write comments. Therefore I think that the sum of all public statements does not accurately reflect the actual acceptance and appreciation of the UML in the software industry.

In addition, the UML is also used to capture requirements in analysis models, something that can’t be done in code.

Best regards,
Andreas

Technorati Tags: ,

The mess called XMI (XML Metadata Interchange)

Tuesday, May 13th, 2008

Hello,

XMI is a (in fact it’s not, but that is actually the mess) standard defined by the OMG for the exchange of models between tools.

Steven Kelly of MetaCase has written a blog posting concerning XMI. Basically, he claims that XMI is mostly unusable and its popularity is declining according to google.

The major causes for this unfortunate state of XMI are:

  • The OMG hugely over engineered the XMI standard. The XMI specification is based on the MOF and thus introduced an additional level of abstraction.
  • The OMG specified a couple of different versions, each requiring its own processing. The different version where driven by the associated UML versions.
  • The OMG failed in providing a compliance test suite for XMI. Although they had plans to do this these plans where never realized.
  • The vendors are also sometimes accused to actively try to “lock in” their customers to their own tool by making the XMI export proprietary. But on the other side this means that they cannot read XMI files from other tools thus losing possible customers. Personally I think that most vendors did not actively try to make their XMI format proprietary but that they just misinterpreted the XMI specification or that they did not want to spend the required effort to provide a fully compliant XMI format.

In practice, this means that a tool that wants to properly import XMI must write a dedicated importer for each supported other tool and for at least one of the XMI versions that are supported by the other tool.

In addition of being massively incompatible, the XMI files in itself are also often really freaky.

Lets look at an example in MagicDraw. Suppose we want to specify the type of an attribute as Boolean. The UML supports this as a builtin primitive type and thus one could assume that the representation in XMI should be straight forward. Not so with MagicDraw. If you open the dialog for the attribute type and click in the “type” field you are presented with the preselection “$OCL_boolean” and you could be tempted to use this suggestions, especially when you want to use the OCL:

If you resist this temptation and start to type “boo” MagicDraw offers these choices:

While the second choice is probably the better one, as a tool vendor you would have to support both forms since certainly some users would choose the first form.

Now let’s look how these different forms are represented in the XMI.

$OCL_Boolean:

<ownedAttribute xmi:type='uml:Property' xmi:id='_15_0_1_275013a_1210362988887_907256_342' name='underAge' visibility='public'>
<type xmi:type='uml:PrimitiveType'
href='UML_Standard_Profile.xml#_12_0EAPbeta_f720368_1161801304327_563815_114>
<xmi:Extension extender='MagicDraw UML 15.0' extenderID='MagicDraw UML 15.0>
<referenceExtension referentPath='UML Standard Profile::Validation Profile::OCL Library::$OCL_Boolean' referentType='PrimitiveType'/>
</xmi:Extension>
</type>
</ownedAttribute>

boolean from the MagicDraw profile:

<ownedAttribute xmi:type='uml:Property' xmi:id='_15_0_1_275013a_1210362988887_907256_342' name='underAge' visibility='public'>
<type xmi:type='uml:DataType' href='UML_Standard_Profile.xml#eee_1045467100323_191782_59'>
<xmi:Extension extender='MagicDraw UML 15.0' extenderID='MagicDraw UML 15.0'>
<referenceExtension referentPath='UML Standard Profile::MagicDraw Profile::datatypes::boolean' referentType='DataType'/>;
</xmi:Extension>
</type>
</ownedAttribute>

Boolean from the UML PrimitivTypes package:

<ownedAttribute xmi:type='uml:Property' xmi:id='_15_0_1_275013a_1210591343275_118710_1237' name='ended' visibility='public'>
<type xmi:type='uml:PrimitiveType' href='http://schema.omg.org/spec/UML/2.0/uml.xml#Boolean'>
<xmi:Extension extender='MagicDraw UML 15.0' extenderID='MagicDraw UML 15.0'>
<referenceExtension referentPath='UML Standard Profile::UML2 Metamodel::AuxiliaryConstructs::PrimitiveTypes::Boolean' referentType='PrimitiveType'/>
</xmi:Extension>
</type>
</ownedAttribute>

Now this is not a problem of XMI in itself but an incapability of the vendor to hide implementation details from the user. But it is typical for the problems that arise during processing XMI files.

Best regards,
Andreas

Technorati Tags: , ,

UML profiles and OCL

Saturday, April 19th, 2008

Hello,

if you would like to better understand the concept of UML profiles and their relation to the Object Constraint Language (OCL) I would recommend to read the nice paper OCL-based Validation of a Railway Domain Profile by Kirsten Berkenkötter.

Usually, OCL is propagated as a means to make UML models more precise, i.e. “better”, by adding information to the model that cannot be expressed with diagrams.

The usage of OCL in UML profiles is the other major application of the OCL. There it is used – along with stereotypes – to create a domain specific subset of the UML that is better suited for a given domain than just plain UML. Usually, a UML stereotype also defines a domain specific graphical presentation for the stereotyped element.

If you are familiar with the world of software modeling you are probably aware that currently two major schools of thought are contending for dominance. There are the proponents of Domain Specific Modeling Languages (DSL) who claim that a dedicated modeling language must be created for a specific application domain to allow effective modeling. And then there are the proponents of UML who claim that the UML provides a standardized, well defined and widely known modeling language which can of course be tailored to a specific domain (using profiles). Unfortunately, most of the people who make public statements concerning these contending approaches are biased, because they work for a tool vendor. For example, people working for IBM Rational will advocate the usage of UML, and people working for Metacase will propagate the DSL approach. Since this is a complicated topic I’m afraid that the only way to find an answer to the question “which is the best approach for my specific project?” is to make a careful evaluation and maybe a pilot project.

Best regards,
Andreas

Technorati Tags: , ,

OMG Certified UML professional (OCUP) certification

Thursday, April 3rd, 2008

Hello,

since 2008-04-01 I’m an OCUP fundamental now. Compared to various Microsoft exams I have taken more than 10 years ago this certification was pretty hard, for three reasons:

  • The exam mainly checks the UML specification itself and not whether you can create good models (that is, using UML for describing the results of analysis and design work). This means, even if you are a experienced applicant of UML this knowledge won’t be of much use in the exam. In the standard Microsoft or Sun certification exams it is a significant advantage if you have been exposed to the relevant technologies in your work before.
  • The checked content is very abstract and rich in detail. The UML specification is about 1000 pages thick and the fundamental certification covers about 1/3.
  • There are no practice exams available, e.g. from Transcender or MesaureUp like for the more standard certifications. These practice exams are a very effective exam preparation.
  • The preparation material I have used was written in German, but the exam was in English.

But I’m absolutely confident that the knowledge I have acquired during the preparation will help me to create better products for EmPowerTec. And it sure was a good feeling when I received my result after the test :-)

Best regards,
Andreas

Technorati Tags: , ,

How to scare away customers

Monday, February 11th, 2008

Hello,

initially, I wanted to write the fourth posting in a series of posts about the “Current state of modeling”, a focal point on software modeling in the German Computerzeitung.

The fourth article was written by Chris Henn from E2E. It was quickly obvious that this article also is more or less an advertisement of a commercial product. I don’t think that’s a problem as long as the article still provides some value, even if it is just to learn something about an interesting product in the area of software modeling. Unfortunately, the article seemed a bit shallow to me and did not even give me a rudimentary understanding of how this product works. I then visited their website in the hope to find some white papers or similar resources that illustrate how their product works. I found only annoying marketing blurb and the section “DEMOS & DOWNLOADS” which seemed just what I was looking for. But when I clicked on “DEMOS & DOWNLOADS” I was asked for my contact details. Personally, I think that I should be able to collect information about a product without giving away personal data. Therefore, I did no longer try to learn and blog about E2Es products. I really don’t get those companies that in their greed for “leads” abstain from reaching the highest possible number of visitors and to provide some highly relevant content for the search machines. Maybe they fear that someone would download all their demos and other resources and create a competing product based on this information (but if I wanted to I could easily do this with faked information, so what?).

Best regards,
Andreas

Call for papers for the 2nd international Workshop on Model-Driven Software Evolution (MoDSE 2008)

Thursday, January 24th, 2008

Hello,

the organizers of the MoDSE 2008 have published a call for papers.

From their website:

“The objective is to present how model-driven evolution can enforce and reduce critical risks and important costs involved in software evolution, by employing high-level abstractions. We aim to present current research works about model-driven evolution and to exchange, discuss and debate about gained experiences, challenges, needs, proposed approaches and innovative solutions around the Model-Driven Software Evolution.”

This is a small, 1/2 day workshop on 2008-04-01 in Athens, Greece.

Best regards,
Andreas

Call for workshop proposals at MODELS ‘08

Thursday, January 24th, 2008

Hello,

the organizers of the Models ‘08 conference have asked for workshop proposals.

From their website:

“The MoDELS series of conferences are devoted to the topic of model-driven engineering, covering both languages and systems used to create complex systems.”

The Models ‘08 takes place from 2008-09-28 to 2008-10-03 in Toulouse, France.

Best regards,
Andreas

Abstraction and precision enable better processes

Wednesday, January 16th, 2008

Hello,

this is the third posting in a series of posts about the “Current state of modeling”, a focal point on software modeling in the German Computerzeitung.

The third article was written by Andreas Entgelmeier and Rainer Hochecker, both working for IBM Rational:

Basically they say that better communication helps to create better processes. Since the UML improves the communication between the participants of a project it also helps to improve the processes. The UML improves the communication through

  • Documentation
    The model captures information about the system and makes it accessible.
  • Formalism
    Being formally defined the UML creates a common language for all project participants and thus improves the communication.
  • Unambiguousness
    UMLs precisely defined language offers precision that a natural language does not offer
  • Abstraction
    By providing different abstraction levels the comprehensibility of the system is improved.

Besides improving communication a model can deliver metrics which are also important to improve the processes. Source code yields much less metrics than a UML model. The authors then throw in a couple of more buzzwords which do not really add content, in my view.

Personal comment:
While the statements about improved documentation are true, these benefits are not for free. If you want to utilize the UMLs formal definition to improve the communication all project members must learn (parts of) this formal definition and that may not be fun for everybody.

The statement about using metrics derived from models for improving processes also seems a bit strange to me. Usually processes (for software development projects) are concerned with the way the software is developed, e.g. estimation, resource allocation, defining milestones and deliverables, tracking progress and so on. The characteristics of the software are usually only affected as far as measurable quality criteria (number of error reports, number of findings of static and dynamic code checkers, number of executed/failed automatic tests, rate of code coverage and so on) can be derived. I’ve never saw a process definition discussing the depth of the inheritance hierarchy, e.g.

Also depending on your development style it might be more appropriate to derive metrics from the model but I don’t buy the authors arguments that the source code “provides much less metrics then the model”. In particular the examples mentioned in the article – depth of inheritance hierarchy, package dependency, number of classes – could all be easily derived from the source code.

In summary, the article seems to be mostly a sales blurb.

Best regards,
Andreas

Technorati Tags:

Issue 1, volume 7 of the Journal of Object Technology published

Monday, January 14th, 2008

Hello,

the JOT (Journal of Object Technology) has published it’s new issue 1, volume 7.

It contains (among other content) two UML related articles:

Applying Model Checking to Concurrent UML Models
By Patrice Gagnon, Farid Mokhati, Mourad Badri

Abstract from the authors:
The formal and object-oriented language Maude, based on rewriting logic, supports formal specification and programming of concurrent systems, as well as model checking. We focus on UML class, state and communication diagrams. The major motivations of this work are: (1) translating concurrent UML diagrams into a Maude formal specification and (2) applying model checking to the generated specifications. The approach is illustrated using a concrete case study.

UML and Object Oriented Drama
By Luca Vetti Tagliati, Carlo Caloro

Abstract from the authors:
Daily interdisciplinary tests and hybridisations occur among the different contemporary arts; theatre meets new technologies more and more frequently and it turns out to be a fascinating and complex meeting. As a consequence, the problem of identifying new tools that the dramatist and/or director can use to analyze a text arises. Among these tools, it is important to select which is to be used in order to facilitate the sharing of the project among the different participants (director, dramatist, actors, etc.). The discipline of computer science can provide us with a valid solution to this problem, where comparable problems are, typically, solved by means of UML.

Best regards,
Andreas

Technorati Tags: ,

Call For Papers for the Fourth European Conference on Model Driven Architecture Foundations and Applications

Monday, January 14th, 2008

Hello,

On the puml mailing list a call for papers for the ECDMA 2008 was published.

From the website:

ECMDA-FA is dedicated to furthering the state of knowledge and fostering the industrialisation of the MDA methodology. Its focus is on engaging the key European research and industrial figures in a dialogue which will result in a stronger, more efficient industry, producing more reliable software on the basis of state-of-the-art research results. The 2008 conference is organised in two tracks of interest dealing with the foundations and applications of MDA. There will be additional workshops and tools and poster exhibitions on these subjects.

Best regards,
Andreas

Technorati Tags:

Call for paper for the TOOLS EUROPE 2008 46th International Conference on Objects, Models, Components, Patterns

Wednesday, January 9th, 2008

Hello,

as announced on the yahoogroups mda-discussion mailing list there are still about 30 days left if you want to submit a paper for the Tools 2008 conference. The conference itself will take place on June 30th to July 4, 2008 in Zurich.

From the webpage:

“TOOLS has broadened its scope beyond the original topics of object technology and component-based development to encompass all modern, practical approaches to software development, in keeping with the traditional TOOLS spirit of technical excellence, focus on practicality, combination of theory and applications, and reliance on the best experts from academia and industry.”

The Tools 2008 also hosts the Conference on Software Engineering Approaches For Offshore and Outsourced Development (SEAFOOD 2008) and the conference on Model Transformation (ICMT 2008).

Seems like you can get a wealth of information and contacts there.

Best regards,
Andreas

The downturn in modeling is over

Monday, January 7th, 2008

Hello,

this is the second posting in a series of posts about the “Current state of modeling”, a focal point on software modeling in the German Computerzeitung.

This is a short article written by Franz Graser, an editor of the Computerzeitung:

  • There was a hype about modeling and model based software development and as with all hypes there have been disappointed expectations as people realized that model based development was not the long awaited silver bullet.
  • For example, a useful generation of source code from a model requires a serious amount of preparation and thus is not appropriate for all types of projects.
  • In addition, the complexity and size of the UML2 language definition discourages many interested parties.
  • But there are also more and more tools that support model based software development.
  • Model based testing also has much to offer.

While this article is exceptionally shallow it is basically consistent with my own perception. Starting approximately 1990 more and more modeling tools appeared, first proprietary (anyone remembers ObjectOry?), then based on UML, with Rational Rose as market leader. Many of these tools ended as Shelfware, either because they where barely usable or because they were imposed by some dumb manager.

Now the bad tools have disappeared and the good tools have matured. With Java and .NET new, powerful implementation platforms are available now. The understanding, how model based software development can be done is much better since standards have been developed and pragmatic open source projects with lively communities have emerged (e.g. Eclipse Modeling Framework, AndroMDA, openArchitectureWare, ModelWare) . A good indicator for the prospect of model based software development is Microsoft’s effort in this area – its DSL tools and Oslo initiative (and we all know that Microsoft is often slow in following trends).

Best regards,
Andreas

Technorati Tags: ,

UML exercises

Monday, December 17th, 2007

Hello,

the UML Ranch contains some UML exercises from an O’Reilly book on UML. I had not yet time to seriously look at them but at first sight they look quite suitable.

Best regards,
Andreas

Technorati Tags: