|
May 2010
|
Semantics of Contracts.
We have written a short paper that discusses the semantics of contracts in software. This paper proposes a framework for thinking about software contracts based on the idea that a contract aims to preserve a formal proposition about the software system being built, and the form of the contract must reflect the formal reasoning system used for verification of the proposition. These ideas suggest that very different forms of contract are needed for algorithmic and interactive software, and this is illustrated in the paper.
You can download this paper from here (170 K). This paper has been accepted for inclusion in the 2nd Workshop on Behavioral Modeling - Foundations and Applications (associated with the 6th European Conference on Modelling Foundations and Applications, ECMFA).
|
|
Apr 2010
|
Aspect Modeling Case Study.
We have written a paper that discusses the use of Protocol Modeling for representing behavioral aspects. This paper describes a ModelScope solution to a "Crisis Management System" case study. (This case study was invented by Jörg Kienzle of McGill University et al. as a basis for the comparative study of aspect-oriented modeling techniques).
You can download this paper from here (390 K). This paper has been accepted for publication in a special issue of Transactions on Aspect Oriented Software Development (Springer) edited by Jörg Kienzle and devoted to a comparison of different aspectual modeling approaches.
You can also download the ModelScope solution to the Crisis Managment System case study from here (1170 K).
|
|
Mar 2010
|
Protocol Modeling and Choreography Theory.
Protocol Modeling has proved to have interesting application to the theory of asynchronous choreographed collaborations. You can download a paper describing this from here (1300 K). This paper has been accepted for publication in The Journal of Service Oriented Computing and Applications (Springer).
|
|
May 2009
|
Metamaxim at BM-MDA 2009.
We are presenting a short paper at the 1st Workshop on Behavior Modeling for MDA on June 23th in Enschede, The Netherlands. The paper critiques the semantics of state machines in UML as a basis for MDA modeling, and suggests an alternative semantics based on Protocol Modeling using both CSP and CCS styles of composition.
You can download this paper from here (390 K).
|
|
Feb 2009
|
Metamaxim at AOSD 2009.
We are presenting a short paper entitled "Abstractions, Composition and Reasoning" at the 13th International Workshop on Aspect-Oriented Modeling in Charlottesville, USA on March 2nd, 2009. The paper discusses decomposition of a software system into abstractions modeled as protocol machines.
You can download this paper from here (220 K).
|
|
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 download this paper from here (190 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 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 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. This paper has been accepted for presentation at the 41st Annual Simulation Symposium, Ottawa, Canada, April 14-16, 2008.
You can download this paper from here (150 K).
|
|
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. This paper has been accepted for inclusion in the IEEE Second International Symposium on Industrial Embedded Systems, Lisbon, Portugal, 4-6 July 2007.
You can download this paper from here (200 K).
|
|
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.
|
|
Oct 2006
|
Aspect Oriented System Development (AOSD).
We have been working with Ella Roubtsova, of the Open University in the Netherlands, on how the ideas of Protocol Modeling apply to Aspect Oriented Development. We have written a paper, which you can download from
here (279 K).
The models described in the paper can be downloaded from here (11 K).
|
|
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 Protocol Modeling 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 Protocol Modeling 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 Protocol Modeling 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 Protocol Modeling
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 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 Protocol Modeling, 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.
|
|
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
version of the same model, which you can download from
here
(12 K).
|
|
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 Protocol Modeling 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 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 Protocol Modeling.
You can link to the article here.
|
|
|