|
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.
|
|
|