contact ME

Use this form to reach out to me.

Ask me about the software development consulting and vocal services that I can provide for your project.

Name *

Ottawa, ON

I am an independent software development consultant, specializing in model-driven development with Eclipse technology, which has been a passion for the last ten years.  I am widely recognized for my high-quality output, timely delivery, and friendly and engaging manner.

I also happen to be a capable singer, performing sacred and secular works for choir and tenor solo from the renaissance to today.  If you are presenting vocal music in Ottawa, eastern Ontario, or west Québec, I can be your tenor.


An ad hoc record of Christian W. Damus's professional and personal activity.

Validation in Papyrus Model Repositories

Christian W. Damus

One of the most important things we can do with our models is to validate them, testing them against general-purpose and domain-specific well-formedness rules.  Last week, we saw how to reuse packages from models stored in a repository in the Papyrus Kepler release.

This week, we take a look at validating models.  After all, you wouldn't want to share and re-use packages that aren't up to muster, would you?  See a short demonstration video after the break.

The latest code on the cdo_kepler branch in Papyrus SVN evolves the presentation of validation problems in Papyrus beyond Eclipse's workspace resource markers to support annotating model elements in CDO resources (or any other EMF resource, for that matter) with diagnostic information.  Essentially, Papyrus implements a modeled analogue of workspace markers in a new friendly UI that better presents the context of problems.

Have a look at the short video above and check out the branch to play with model validation, yourself!  Or, wait a few days for the first regular Papyrus nightly build that will actually deliver all of the CDO goodness that we have seen so far.  Integration of the branch into the development main-line is in progress as I write this post.  See bug 290952 for details of the merge.