Wednesday, April 16, 2008

Meta-Modelling

I ran across an interesting article written by Johan den Haan who works for a company called Mendix that discusses many of the subtleties and issues concerning conceptual modelling as of 2008.

In the article Johan outlines the challenges related to identifying / establishing a clear separation between two primary meta-modelling dimensions - ontological (classification <-> terminology) and linguistic (logical <-> physical) forms. This distinction is important when designing languages suitable for modelling purposes. References to a number of interesting papers are included in the article and I would recommend anyone with an interest in meta-modelling to read this article.

The need for a concept entity to have a logical and physical manifestation is an important aspect to language design. The way in which something is visually or textually represented, shared / transferred between people and stored on disk for later use means that the logical concept by necessity has a number of different physical forms. Physical means digital given that we are talking about interacting with this conceptual entity with computers.

Languages designed to support modelling concepts need to make clear distinctions between abstract structures and concrete digital representations of these abstract language elements. Support for a clean and consistent separation of these concerns will be an area of significant language innovation in the coming years...

In addition to supporting a variety of different digitial manifestations [graphical / textual / binary] of a single abstract conceptual element, a modelling language must allow users to capture their own specialised terminology or domain ontology easily into their model.  In this sense physical issues should not impose any uneccessary complexity or weight to the task of actually creating domain content.  Users need to be able to quickly capture the meaning of their world without having to be cognisant of the way in which the model is physically stored or visually represented.  For example as a modeller I should be able to describe a vehicle domain using a modelling methodology which I am familiar with or prefer [set based traits /property characteristics /compositional assembly and structure /ontological hierarchy] to establish a description of the domain that is appropriate for the problem at hand.  My terminology needs to be easily captured within the modelling environment.  Additionally any single classification scheme is often limiting, with other people often needing to create derived dimensions of classification.  Secondary or derived modelling interpretations almost always need to decorate the original artefact embellishing it as appropriate.  Thus users need to be able to tag or apply additional descriptions and classification markers to the abstract elements.  Furthering the vehicle example, at some future point in time,  modellers may have the need to extend existing material to deal with types of fuel sources and power plants used within their domain.

In terms of modelling methodologies the other important requirement they place on a modelling language is its ability to clearly demarcate between types and physical instances of types.  Modellers will often want to capture what they see, touch or inteact with in the world around them.  This translates into a requirement to capture and describe a given population of example real world instances of things, all having a existing physical form or particular tangible manifestation,  before concerning yourself with attempting to understand their deeper class, genre, or type similarities and differences.  

Model makers, that is people who create modelling content, need to jump between the many dualities in life and give purely abstract ontological concepts linguistic tangibility.  Linguistics is therefore concerned with the physical / notational representation of abstract ideas.  This is important when designing domain specific languages targeted at a particular physical run-tim environments. 

The OMG established the meta object facility MOF 2.0 specification to support ontological extension mechanisms for domain specific languages. As of 2008 significant extensions to the MOF are underway in an attempt to unify the different communities of interest involved with meta-modelling initiatives. Groups involved with knowledge representation, artificial intelligence, onotological computing and conceptual modelling are know coallescing around the OMG standards body in an attempt to unify many of their technologies.

Thursday, February 28, 2008

A modelling odyssey...

Welcome to my blog. My name is Shaun and I am the principal of an Information Technology design and development consultancy in Auckland, New Zealand called Method Maker.

I was first introduced to the benefits of modelling computer systems in 1996 when I joined Rational Software; now part of IBM. I have subsequently been using the Unified Modelling Language [UML] for the last ten years on a daily basis to specify, design, develop and document a wide variety of different IT systems on a large number of different projects around the Asia Pacific region.

I plan on using this blog to establish a commentary on a variety of modelling related interest areas including:

- modelling trends and directions,
- advances in modelling technologies and applications,
- problem domains and challenges,
- modelling techniques, guidelines and strategies

to be continued....