executable modeling | our software | download | purchase | case studies | our services | metamaxim | home

 

News, White Papers and Example Models

Latest news, white papers and example models. Links to papers and other sites are blue. Links to download example models are red.
Apr 2008

Metamaxim at ICEIS 2008.

We are presenting a short paper on the use of Protocol Modeling for modeling behavior of the Human Computer Interface at the 10th International Conference on Enterprise Information Systems June 12th - 16th, 2008 in Barcelona, Spain. The paper describes a small case example based on the BaMaS system that allows students in the Netherlands to explore Bachelors and Masters programmes available at Dutch universities and the links between them.

You can find out more about the conference here and download our paper from here (200 K).

Mar 2008

Metamaxim at AOSD 2008.

We are presenting a paper on the use of Protocol Modeling for modeling aspects at the Aspect Oriented Modeling (AOM) workshop at the Seventh International Conference on Aspect-Oriented Software Development March 31st - April 4th, 2008 in Brussels, Belgium. The paper includes a formal proof of the ability of Protocol Modeling to support "Local Reasoning": the ability to argue about the behavior of a system as a whole based on the examination of the individual aspects in isolation. Local Reasoning is crucial to maintaining intellectual control over complex aspectual models.

You can find out more about the conference here and download our paper from here (250 K).

Feb 2008

Metamaxim at ENASE 2008.

We are presenting a paper on Protocol Modeling at the 3rd International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2008) in Funchal, Madeira, May 4-7, 2008. The paper gives an overview of the theory and summarizes the innovative contributions of the ideas.

You can find out more about the conference here and download our paper from here (250 K).

Jan 2008

Executable Protocol Modeling as a Requirements Engineering tool.

We have written a paper that describes the use of Protocol Modeling in the context of Requirements Engineering. This paper gives a summary of the ideas of Protocol Modeling and how a model built using these ideas can be valuable in the early stages of a project when the requirements are being explored. You can download this paper from here (150 K).

This paper has been accepted for presentation at the 41st Annual Simulation Symposium, Ottawa, Canada, April 14-16, 2008. You can find out more about this symposium here.

Oct 2007

The Semantics of Nested Protocol Machines.

Recent work we have been doing on the application of Protocol Modeling to Aspect Oriented Design has led to some new ideas relating to the semantics of nested Protocol Machines. These new ideas have resulted in a degree of rationalization of the Protocol Modeling language and increase in its expressive power. You can download a short paper describing these ideas from here (1000 K).

May 2007

Protocol Modeling expressed in Petri Net notation.

We have written a paper jointly with Ella Roubtsova of the Open University, Netherlands, describing the application of Protocol Modeling ideas to embedded systems, and showing how such models can be expressed in Colored Petri Net (CPN) notation. The paper discusses how CPN semantics can be aligned to Protocol Modeling concepts. You can download this paper from here (200 K).

This paper has been accepted for inclusion in the IEEE Second International Symposium on Industrial Embedded Systems, Lisbon, Portugal, 4-6 July 2007

Dec 2006

A Typing Scheme for Behavioral Models.

We have a paper that describes and illustrates the capabilities of the Protocol Modeling language to encode business rules by composing behaviors of different types - some concerned with what is possible, some with what is desired and some with what is allowed. This paper has been published in The Journal of Object Technology (JOT) Nov/Dec 2007 edition. You can link to the article from here.

This paper builds on the theoretical foundations established in the formal semantics paper posted earlier (see entry "Formal Semantics" for Nov 2004).

Nov 2006

Metamaxim at SPA2007.

Ashley McNeile is presenting a tutorial entitled "Behavior Modeling: Muddles and Opportunities" at the SPA2007 conference in Cambridge, UK, 25th to 28th March 2007. The tutorial will discuss some common fallacies in ideas about behavior modeling (particularly in UML) and how some of these can be put right.

You can find out more about SPA2007 and Ashley's talk here.

Nov 2006

Workflow Control Patterns.

Professor Wil van der Aalst et al. have done some interesting work on compiling a catalogue of control flow patterns in workflow, and assessing the extent to which different commercial workflow products support (or fail to support) different patterns. They have published a paper "Workflow Control Patterns" which describes 20 different workflow patterns and analyses the ability of 15 commercial workflow products to support these patterns. This paper is available from here.

They find that commercial products are uneven in their ability to support the full set of patterns. In our view, this is because these products aim for too high a level of abstraction in their control flow primitives, potentially leading to an explosion in the number of primitives required or gaps where patterns are unsupported.

There is a analogous problem in ideographic writing systems: the Kangxi Dictionary of chinese characters contains over 47,000 entries compared the 26 letters of the latin alphabet. The reason that alphabetic approaches achieve high expressive power with a small number of primitives is, of course, that they support the ability to compose the primitives (letters) to make larger units (words). We suggest that the same is true with control flow. The ability to compose control flow definitions (as you can with Protocol Machines) means that a small number of primitives can be used to model a wide range of control flow patterns.

We have successfully described the full set of patterns using Protocol Machines. As an example, a model for Pattern 7 (Synchronizing Merge) can be downloaded here (14 K). This example shows how composition is used to model a complex pattern. Please read the PowerPoint file first, for a description of the pattern.

Mar 2006

Singleton Pattern.

It is sometimes necessary to restrict the number of instances of an object type that can be created to a single instance. This is called the "Singleton Pattern". Here we show a small example model in which a protocol machine called "Singleton" is used to do this. This is a good demonstration of the power of the compositional approach to behavior modeling: the Singleton behavior can be included in any object type that needs to be constrained to a single instance.

The model can be downloaded from here (2 K).

Feb 2006

Metamaxim at ICEIS 2006 conference.

We have a paper on the semantics of the ModelScope language accepted for inclusion in the 8th International Conference on Enterprise Information Systems (ICEIS 2006) in Paphos, Cyprus, 23-27 May 2006. The paper being presented describes the capability of the ModelScope language to describe business rules, and is based on the papers on formal semantics listed in the entries for Nov 2004 and Apr 2005 below.

More information about this conference can be found here.

Jan 2005

Metamaxim at "Adopting MDA" conference.

Ashley McNeile is presenting at the "Adopting MDA" conference to be held in London on the 9th and 10th of March. Ashley's talk will use use case studies to illustrate how model execution techniques can be used to validate models early in the development life-cycle, and describe the benefits that can be obtained.

You can find the presentation Ashley used at the conference here (330 K).

Nov 2004

Formal Semantics.

We have drafted a paper that describes the formal semantics of the ModelScope language.

This paper is probably of most interest to academics engaged in study of the formal basis of modeling languages, particularly the area of reusable behavioral abstractions. However, it does not use any heavy formal notations, so is generally readable to anyone who is interested in understanding, at a deep level, what ModelScope is about. You can download the paper from here (330 K).

This paper is being published in March/April 2006 edition of The Journal of Software and Systems Modeling (SoSyM) published by Springer (www.springerlink.com), who therefore own the copyright. Copies downloaded from this site are for private research use only and must not be distributed or otherwise published in any form.

Jul 2004

Containers Puzzle.

There is a simple puzzle involving containers of different sizes, in which the aim is to end up with a specified amout of liquid in a specified container. The only permitted moves are filling a container completely, emptying a container completely, and transfering as much as possible from one container to another.

For instance if you have two containers, A that holds 5 units and B that holds 3, what moves end up with 1 unit in A?

You can download a simple ModelScope model of the Containers Puzzle from here (5 K). The model allows you to run a canned scenario that solves the puzzle described above.

Jul 2004

Composition or Refinement?

In a paper entitled "Behavioral Subtyping Relations for Active Objects", Heike Wehrheim of the University of Oldenburg discusses rules for state machine refinement. The paper describes how to extend the state machine of a class to form the state machine for a subtype class. A simple Buffer is used as an example, and the base state machine for the Buffer is refined in four different ways to form four subtypes with different behavioral extensions.

In ModelScope, behavioral extensions are modeled as separate state machines that can be composed with the base state machine of the class. Thus the four extensions to the basic Buffer are modeled as separate state machines that can be composed with the base Buffer state machine. This compositional approach has the advantage that you can "mix and match" the extensions, something that is not possible with the refinement approach described by Heike.

You can obtain Heike's paper from here and our model demonstrating the compositional approach from here (9 K).

Jul 2004

Methods of Behavior Modeling.

We have drafted a paper that compares different approaches to modeling behavior. This paper provides an overview of different behavior modeling techniques and contrasts them, particularly in terms of their ability to support model execution. You can find the paper here (225 K).

Apr 2004

Dining Philosophers Example.

The dining philosophers is a teaching example used by Professor C.A.R.Hoare to illustrate deadlock. It is described in his book "Communicating Sequential Processes". You can download a short description here (100 K) and the model from here (12 K).

Mar 2004

Cooker Example.

Here is a sample model about controlling a simple cooker. It is based on the example described in the book "Executable UML" by Steve Mellor and Marc Balcer (pages 156 to 161). You can download a short description of the problem here (43 K) and the model from here (11 K).

Our model is rather different from the solution described in the Executable UML book. We use a separate state machine for each component of the Cooker (the heating element, the door, the button, the light and the timer) and an overall state machine that checks actual behavior against required behavior -- a little bit like an invariant in Contract Driven Design.

In the terminology of the book "Object Lifecycles: Modeling the World in States" by Sally Shlaer and Steve Mellor the overall state machine is a "black box" model, whereas the state machines of the components of the cooker are "white box" models. This example shows how it is possible to combine black box and white box state machines in a single model, using the former to check the behavior of the latter.

You will need to be using ModelScope release 2.0.9 or higher to run this example. If you need to upgrade, see the entry below.

Mar 2004

New Release of ModelScope.

We have put a new release (2.0.9) of ModelScope up on the website. In addition to a couple of bug fixes, this release allows models to be reloaded without closing ModelScope down and restarting. This means that it is faster to make changes and retest when developing a model.

To upgrade to this new release from any earlier release, please follow these steps:

1. Use "Add or Remove Programs" in Control Panel to remove your existing version.
2. Download the new version.
3. Install the new version using the downloaded installation file.

Your User Key will be retained and will work with the new version.

Mar 2004

Metamaxim at MDA Conference.

Ashley McNeile is giving a talk about using model execution for validating models at the OMG conference "MDA Implementers' Workshop: Succeeding with Model Driven Systems" May 17-20, 2004 in Orlando, FL USA.

Feb 2004

Metamaxim at OT2004.

Nick Simons is presenting a tutorial entitled "Objects on ACID" at the OT2004 conference in St. Neots, UK, 28th to 31st March. The tutorial is about how to model events in business objects, and how events relate (or don't relate) to the standard OO message-based paradigm.

You can find out more about OT2004 and Nick's talk here.

Feb 2004

Petrol Station Model.

The Kennedy Carter "iUMLite" modeling tool comes with a Petrol Station example to illustrate model execution. We have created a ModelScope version of the same model, which you can download from here (12 K).

This model exceeds the ModelScope evaluation version's limits on model size, so you will need the full version to run it.

Jan 2004

Example Model for MDA.

MDA (Model Driven Architecture) is an OMG (Object Management Group) initiative concerned with promoting the role of modeling in the creation and management of application systems. You can find out more about MDA from the link here.

To illustrate how they support MDA, the OMG have proposed that different vendors try applying their approach and tool to a sample problem: a simple gold trading system. You can download the OMG specification of the sample problem from here (35 K) and a ModelScope solution from here (15 K).

Jan 2004

Metamaxim at ICEIS 2004 conference.

We have a paper accepted for inclusion in the 6th International Conference on Enterprise Information Systems (ICEIS 2004) in Porto, Portugal, 14-17 April 2004. The paper explores a simple ModelScope model and explains the advantages of composing state transition diagrams and using derived states.

You can download the paper from here (179 K), and the simple Marriage model discussed in the paper from here (10 K).

Jan 2004

Metamaxim article in The Journal of Object Technology.

We have an article entitled "State Machines as Mixins" published in The Journal of Object Technology. The article examines some theoretical issues in behavior modeling and introduces the idea that behavior is best modeled by composing state transition diagrams -- the approach used in ModelScope.

You can link to the article here.

Jan 2004

Plan for Eclipse based front-end.

We are investigating using the Eclipse IDE to create a front-end model editor for ModelScope.

Eclipse is an open-source IDE (Integrated Development Environment) with a highly extensible architecture that allows the integration of additional tools and capabilities. We plan to build an Eclipse based environment for creating, editing and managing ModelScope model files and associated Java callbacks. Using Eclipse as a base means that we can leverage the power of its infrastructure and library of reusable utilities. You can link to information about Eclipse from here.

The basic Eclipse IDE is available on free public licence, so there would not be an additional licence purchase required to use Eclipse and ModelScope together.

We welcome feedback, so please let us know if you have comments or questions about these plans.

Jan 2004 ModelScope now works with Netscape.

ModelScope can now be used with the Netscape browser as well as Internet Explorer. You will need Netscape version 7.1 or higher (available for free download from Netscape here).

ModelScope versions 2.0.7 and higher support using Netscape. If you have an older version of ModelScope and want to use Netscape instead of Internet Explorer, you will need to download ModelScope again and re-install (first remove your existing ModelScope installation and then install the new version by double-clicking on the downloaded installation file). If Netscape is the program associated with HTML (.htm and .html) files, ModelScope will use it automatically.
© 2003 - 2008 Metamaxim Ltd  |  c o n t a c t  enquiries@metamaxim.com