Shlaer Mellor Method

A method based on the construction of models which can then be "translated" into code using a CASE tool.

The method originated from experience designing RealTime systems (although they claim their method works with all kinds of systems).


SallyShlaer and SteveMellor, Object Life Cycles: Modelling the World in States, ISBN 0-13-629940-7

SallyShlaer and SteveMellor, Modelling the World in Data, ISBN 013629023X

See also
Comparison with RDD

There's a case study that compares Shlaer-Mellor with responsibility-driven design:

Sharble R. S. and Cohen S., The Object Oriented Brewery: A comparison of two OO development methods, ACM SIGSOFT, 18(2),1994

(According to their judgement of "good" design, SM compares unfavourably.)

Event Driven Approach

The dynamic behaviour aspect of Shlaer-Mellor modelling depends on sending an event to an object. Each object performs only one event at a time. Performing an event effectively means executing a flat DataflowDiagram? (which can perform computations, evaluate its attributes and even "write" into the attributes of other objects). Some translation models involve synchronized event queues for each object that has behaviour - this is very similar to DataflowProgramming. - See "WhatIsAnEvent"

Object Identity

Shlaer-Mellor differs from most approaches because their class definitions contain the notion of an object identifier - a subset of attributes that uniquely identify an instance.

Distributed Applications

I think with the difficulties concerning distributed objects expressed by those including MartinFowler I suspect patterns and concepts authored by S/M could be very useful in distributed systems (e.g. wormholes, bridges, transfer vectors, etc.)


View edit of April 10, 2012 or FindPage with title or text search