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: UML, certification, OCUP
Posted in EmPowerTec, Modeling | 4 Comments »
March 15th, 2008
Hello,
we plan to release a new product soon and I thought it would be a good idea to finally sign our installers so that our users perception of EmPowerTecs credibility improves even more
So I looked into the various alternatives and found a posting on Joel Spolskys Business of Software forum which stated that a Comodo code signing certificate for one year can be bought for just 85 USD. At this price (and with the current USD/EUR exchange rate!) that’s a no brainer for me.
The ordering on the K Software website was smooth and Comodo processed the order fine. But the certificate did not work! I approached the Comodo support which answered extremly friendly and timely but a bit shallow. I had to restate my arguments several times until I got an answer that looked as if someone had actually read my mails. But nothing helped and finally the Comodo support said that I have to ask the reseller K Software for further support. Now, Mitchell Vincent of K Software was totally helpful and offered my a refund and a reissue (basically a complete new purchase). He also made upfront clear that Comodo is quite slow in processing the refunds but he took the responsibility to forward my new order only after Comodo has eventually made the refund. Finally, a couple of days later I had the code signing certificate correctly installed:

To save you the same hassles, here is what I have learned during the process. I think both K Software and Comodo should make these points totally clear during the order process.
- Use the same machine for ordering and for installing (”collecting”, as Comodo calls it) the certificate. I use different virtual machines for development and for email and I ordered on the development VM and tried to install the certificate on the “office” VM. However, I was not aware that the innocent link in the email actually performs the installation.
- Order and install the certificate as administrator. I usually work as restricted user.
- Use Internet Explorer. I use Firefox normally. Although Comodo says that Firefox should work they recommend to use Internet Explorer.
- Add https://secure.comodo.net to your trusted sites. I have scripting switched off for non trusted sites.
These points are probably totally obvious to Vincent Mitchell and the staff at Comodo but for me they where not. In particular I was not aware that the certificate is actually installed by a script in the browser.
If you don’t make the mistakes I have made its a pretty smooth process for a great price.
Finally, here is a link that helps you to integrate the code signing in your build.
Best regards,
Andreas
Technorati Tags: Code signing, Comodo, K Software
Posted in Software development | No Comments »
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
Posted in Modeling | No Comments »
February 4th, 2008
Hello,
comment spam in blogs is a real problem but I use Akismet and it works amazingly good.
But occasionally even Akismet misses a spam comment. Here is one which almost made me admire the unknown spam bot author:
“Hi…I found your site via Yahoo! when i was searching for models modeling, and this post regarding Oclarity 1.8.4 released really sounds very interesting to me.. Thanks.”
They mentioned the theme of my blog (”models modeling”, although I assume it was meant in a different way…) and they did not even add a single URL to the comment body. The only reference to the site they want you to visit was in the “URL” field of the comment.
I assume that Akismet will quickly learn that the used URL belongs to a spam comment and that such a comment will be correctly flagged as spam in the future.
Best regards,
Andreas
Posted in Uncategorized | No Comments »
February 3rd, 2008
Hello,
in a newly created managed C++ project a file named AssemblyInfo.cpp is added to the project automatically by Visual Studio. The file contains the same information than the according file in C# projects but in contrast to the C# assemblies this information is not available in the Windows explorer and all other tools that expect the version information in the traditional form (as a resource in the dll). For example the setup program we use provides the capability to overwrite a DLL during installation only if the installed DLL is of lower version than the DLL contained in the setup program. But for this to work it needs to retrieve the version information from both DLLs and it fails to do so for a standard managed C++ assembly.
The reason is that the information contained in AssemblyInfo.cpp is not automatically added as a resource to the dll (but it is for C# projects). Here are more details.
The bottom line is that you must explicitly add a resource of type “Version” to your managed C++ project to have version information in the traditional form. The information in AssemblyInfo.cpp is used only by .NETs runtime system.
The hard part however, is to synchronize the information contained in AssemblyInfo.cpp and the resource file. There is a Visual Studio AddIn that claims to support that, but I did not try it. We use a script to build our setup-programs and this script updates version information, generates configuration files, rebuilds all affected solutions and finally invokes the installer build program. I think we will add the update of the resource file from the AssemblyInfo.cpp somewhere in this tool chain.
Best regards,
Andreas
Posted in Software development | No Comments »
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
Posted in Modeling | 2 Comments »
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
Posted in Modeling | No Comments »
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: modeling
Posted in Modeling | 1 Comment »
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: modeling, UML
Posted in Modeling | No Comments »
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: ECDMA
Posted in Modeling | No Comments »
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
Posted in Modeling | No Comments »
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: modeling, MDA
Posted in Modeling | No Comments »
December 20th, 2007
Hello,
when we created Oclarity for Rational Rose we made essentially two bets:
- OCL will become increasingly popular in the modeling community
- Rational Rose will remain market leader in the UML tool market
Unfortunately we lost both bets and this means that the market potential for Oclarity/Rose is pretty small these days. So we concentrate on a new product line now (I’ll make a more detailed announcement in January 2008).
We are giving away free single user licenses of Oclarity for the following reasons:
- We hope to get feedback and error reports. If these reports target the generic core (the OCL parser and semantic checker) they will help us to make our future products better.
- We hope to get in touch with people that are interested in beta testing and giving feedback for our future products.
- We hope that those people who where interested in Oclarity in the past and did not buy it for whatever reason will now use it regularly and get some value out of it.
That said, I need to make some restrictions. We will log every bug report and feature suggestion. If the interest in Oclarity will be large enough (and the bugs too severe) we will probably make a new release of Oclarity, but don’t count on it. Bugs in the generic core are (much) more likely to be fixed than bugs in the Rational Rose binding.
We will try to give you support but you might have to wait a couple of days.
Best regards,
Andreas
Technorati Tags: EmPowerTec, Oclarity
Posted in EmPowerTec | No Comments »
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: UML
Posted in Modeling | No Comments »
December 10th, 2007
Hello,
recently I have written a blog post about TextUML. Now the author asked me about my opinion on TextUML. My statement will be long enough to justify a dedicated posting so that I can use some formatting and I can refine it in multiple sessions. All in all, this posting contains a collection of random thoughts.
First of all, I have never used TextUML so I don’t feel qualified to give a statement about its usefulness. That’s the reason I deliberately did not make such a statement in my first posting on TextUML.
Nevertheless, here are some thoughts on the the topic:
- The UML model is contained in some repository and there are multiple ways to manipulate (and present) the content of the repository. The repository must be made persistent in some way over multiple tool invocations (database, XMI text files, proprietary text files). The persistence technology and format are distinct from the presentation, even if a textual presentation exists.
- Diagrams are “views” onto the repository which show a (possibly tiny) part of the repository. The main purpose of diagrams is to enable the comprehension of some aspects of the model. To achieve this goal a diagram must carefully be crafted manually, leaving out all irrelevant detail (”as much as necessary, as little as possible”).
- All relevant modeling tools use solely some kind of graphical editor to manipulate the model. This is either a diagram or a tree like presentation of the repository (”model browser”).
- Basically, there could be multiple ways to manipulate the repository, e.g. the conventional – graphical – way or a textual notation.
- If multiple users work on the same model, the tool must be able to allow manipulations of the model with sufficiently small granularity so that conflicts are reduced as much as possible. With a graphical tool this is typically achieved because only the selected model element is manipulated. With a text based approach that would mean that only a short fragment of text is presented to the user which makes it hard to see the context.
- Supporting two different manipulation models (graphical and text based) would mean additional effort for a tool vendor with no additional capabilities (I was tempted to write “no added value” but that would be a subjective statement). Tool vendors are usually driven by actual or assumed customer demand and since no tool contains the capability to modify the repository with a textual notation I think TextUML appeals only to relatively few users.
- A text based model manipulation would probably be harder to learn thus decreasing the number of potential users (customers, for a tool vendor). While a person who prefers the text based model manipulation would probably achieve good results when using the graphical approach the opposite is probably not true. And – as Rafael has written on his blog – TextUML is intended to be part of a product that will “aim at mainstream business application developers”. This is a bit contradictory.
- Modern UML tools can do so much more than just the manipulation of a UML repository. E.g. they can track requirements and link them to model elements, maintain access rights and permissions for model elements, calculate risks and efforts, maintain documentation and much more. Do you restrict the textual manipulation capability to the actual UML model? Does it include proprietary extensions of model elements, e.g.the costs associated with a model element? Must the user switch between the two manipulation models for the same model element?
- So if TextUML does restrict itself to the plain UML repository leaving other aspect to a graphical GUI (e.g. as an Eclipse plugin) the TextUML source must be kept synchronized with the repository – not an easy task.
Rafael has created the capability to visualize the models automatically. As written above I think that UML diagrams are about including and omitting the right information and that is difficult to achieve in automatically created diagrams. This applies both to the level of detail, the layout of the diagram and the occasional note that further increases the diagrams value.
Automatically created diagrams can be of value when a model is explored in the sense that one picks some element – typically a class – and wants to see all its relationships immediately without explicitly figuring out the related elements and adding them manually to a diagram. Since there is no significant user contribution to such a diagram it is a light weight, “throw away” artifact, more like a “state view” in a debugger.
I like to create language processing software so I think that TextUML is an interesting project but I don’t believe that it is the best approach for a commercial application.
Best regards,
Andreas
Technorati Tags: modeling, TextUML, UML diagrams
Posted in Modeling | 1 Comment »
December 9th, 2007
Hello,
the UML forum contains a poll about the popularity of modeling tools. You can (and should!) vote too but you can also only view the results (the link is in the lower left corner and its written “View Results”). They also have a poll for the best UML book and they seem to display one of these polls randomly so you might need to refresh the page a couple of times.
Personally, I would have preferred to ask which tools are actually used, not just which the readers think are best. But I assume the results would be quite similar.
Best regards,
Andreas
Technorati Tags: UML, tools
Posted in Modeling | No Comments »
December 3rd, 2007
Hello,
a UML model is a description of entities based on the UML metamodel. The OMG uses the term “repository” to describe the container for such a model. Usually repositories are either databases or text files in a proprietary or (more or less – see XMI) standard format.
Rafael Chaves created TextUML, a text based repository for UML models that is designed to be used directly for creating UML models. Instead of the usual approach of creating the model by manipulating diagram elements in some graphical editor the modeler uses a programming language to create the model. There is even an Eclipse project that supports modelers in creating TextUML models.
Whether you think this is a good idea or not, Rafaels blog is an interesting read.
Best regards,
Andreas
Technorati Tags: modeling, blogs
Posted in Modeling | 4 Comments »
December 3rd, 2007
Hello,
if you are a .NET developer and you are interested in the UML chances are you have had some jealous looks at the rich support for modeling and UML in the Java (well Eclipse…) world.
Now its seems as if a person has taken the challenge to create the base for a similar architecture in the .NET world. Rodolfo Campero published nUML, a library for creating UML models in .NET applications. Unfortunately, he writes his blog in spain, which surely does not help to find people who are interested in supporting him.
Also, since the initial release on 2007-07-01 neither the blog nor the download page on sourceforge.net has been updated – not a good sign.
I wish Rodolfo good luck and endurance.
Best regards,
Andreas
Technorati Tags: UML, modeling, .NET
Posted in Modeling | No Comments »
November 20th, 2007
Hello,
as I have promised I will translate and summarize some of the articles from the German Computerzeitung issue 44 which has a focal point on software modeling.
The first article cites 3 persons:
- Harald Böttcher from Optaros (consultant)
- Ralph Schoon from IBM Rational (tool vendor)
- Wolfgang Neuhaus from Itemis (consultant)
Harald states that Optaros has completed many UML consulting projects for customers but that most of these projects had disappointing results. Main reason is that the clients domain specialists are not willing to use sophisticated and rigid tools to model their business processes.
Ralph disagrees and thinks that UML based projects can be successful but that often an adaption of the UML to the specific domain is necessary. He also thinks that many domain specialists want to express their analysis without the constraints of a rigid tool and process (e.g. in a program like Visio or even in Microsoft Word) – at the cost of precision and ambiguousness.
Wolfgang thinks that modeling languages should better not be based on UML to achieve best productivity. The main focus should not be on the tools but on creating a common vocabulary, views on the domain and an appropriate modeling language.
My opinion:
The article seems to be aimed on modeling domain specific aspects (analysis model) – in particular business processes – of a software system. In this case it is mandatory to enable the domain specialists to create, maintain or at least understand the model. But modeling is also used to describe the technical aspects of a software model (implementation model) and such a model is usually only used by software engineers who are (should be
) more used to formal methods.
As far as DSLs are concerned I think that modern UML tools offer rich capabilities for creating very specific modeling languages by using UML profiles, owner drawn model elements on diagram and extension mechanisms. These languages are based on a well defined meta model, the tools are mature now and the models are – to a certain degree – interchangeable.
Best regards,
Andreas
Technorati Tags: modeling, DSL, domain specific languages
Posted in Modeling | No Comments »
November 15th, 2007
Hello,
the German information technology magazine Computerzeitung had a focal point on software modeling in its issue 44 of 2007.
Some of the statements and views are quite interesting and I’d like to translate and summarize the articles for your convenience.
Here is the list of articles (the articles are all in German):
I’ll write separate posts about each article in the next weeks. If some of the titles sound more interesting to you please leave a comment and I’ll write about them first.
Best regards,
Andreas
Technorati Tags: modeling, modeling trends
Posted in Modeling | No Comments »