Animations for Time and Synchronization in Executable UML article

Executable UML Time and Synchronization Rules from Leon Starr on Vimeo.

This is a set of animations to accompany the more comprehensive article of the same name.

You can view or download the article here:

Client-Server Interlock State Pattern

Here's the exerpted introduction to a state pattern paper that I wrote in January of 2006. I forgot to put it online until a discussion group thread prompted me to make it available.

One object, let's call it the server, performs a task or makes a resource available to one or more client objects. Synchronization is required as follows: 1) A client must wait if the server is busy at the time of request 2) The server must wait if there are no clients requesting service 3) If the server is idle and a client requests service, the server must be activated 4) If multiple clients request service simultaneously, service will be provided serially based on some criteria such as "first come - first serve". Since a single server is dedicated to a pool of one or more clients, there is no need for the assigner mechanism described in [Mellor 1].

Here's the key trouble to avoid: 1) Clients don't hang: every client is serviced as soon as possible. 2) The server doesn't hang: it never goes idle leaving clients to wait pointlessly...

Model Level Threads - Part 5 and Elevator Tech Notes

This excerpt from the upcoming sequel to Leon's "Executable UML Case Study" book is freely available for your review. It introduces a new notation for use in conjunction with UML sequence and collaboration diagrams for analyzing parallel, synchronizing activity. If you venture past the first few pages, you will want to also download the PDF Elevator 2.0 Models as the text takes you step by step through two model execution threads, demonstrating both the notation and detailed model behavior.

Elevator 2.0 Models in PDF and Text

Here is the complete set of PDF Elevator 2.0 models with action language in both PDF and plain text. There are a lot of large drawings formatted for best printing as Architectural D (36in x 24in). There is a presentation that summarizes the model changes from Elevator 1.0 to 2.0 in the Presentation Downloads section below.

Executing Elevator 2.0 Models in Nucleus BridgePoint 6.x

This Elevator 2.0 BridgePoint Export may not be as pretty as the PDF, but you can execute the models! Both bak and sql exports are included in the zip file.

Elevator 2.0 Models in Nucleus BridgePoint 7

This Elevator 2.0 BridgePoint Export doesn't execute directly in Verifier, but it is compatible with the model debugger.

Elevator 2.0 Windows Executable with GUI

If you want to see the final product running on your PC with lights, buttons, and animated cabins going up and down, you need the Elevator 2.0 Executable and GUI. Installation instructions in the readme file.

Presentation Downloads

What's New in Elevator 2.0 (PDF)

Executable UML (PDF)

Stupid Modeling Tricks (PDF)

Avoid Bad Behavior (PPT)

Domains Good Bad Ugly (PPT)

Jekyl Hyde (PPT)

Modeling on Right Side of Brain (PPS)

Model Puzzle 1 - Handling Mysterious Roles

October 15, 2003 - How do you handle a class that keeps changing the rules on you and even generalization-specialization won't help? (PDF download) model puzzle.

Scrall (Starr's Concise Relational Action Language)

Leon Starr has specified a new hybrid text-graphical action language inspired by Shlaer-Mellor's Small. Scrall is consistent with UML 2.0 action semantics. There are two documents you can download. First, there is a description of the language. Second, there are some examples of OAL (Project Technology's Action Language) expressed side by side with Scrall.

Key features of this language:

All symbols easy to draw on a whiteboard

Data flow and relational access concepts directly supported

Hybrid text-graphical for ease of expression

This language is still in the research phase and definitely requires a good graphical editing environment to make it practical. We're working on it. In the meantime, any user input is greatly appreciated in the Scrall discussion group.

BridgePoint Repository Extraction Toolset Release 1

Andrew Mangogna has assembled a preliminary set of scripts that extract data from BridgePoint repositories. You can use these scripts to extract information about the Elevator Case Study Model from the BridgePoint repository and even generate some code. Documentation is included in the download. More tools on the way!

Tool Set 1

Elevator 2 (Models Only)

Here is an SQL export of the Elevator 2 application domain xtUML models. No documentation is available at this time. More updates coming soon.

Elevator 2 SQL export

Elevator 1

This is the model published in my book "Executable UML: A Case Study Release 1_0". If you would like the associated descriptions, simulation log trace, technical notes, etc. Please purchase the book.

Elevator 1 Repository - BridgePoint 5_1

Elevator 1 Repository - BridgePoint 4_2 (as it ships with the book)

Not enough modeling ants in your life?

We are selling these at cost through Cafepress. Let your colleagues know what you think of old fashioned programming. Enjoy.

"Uncertainty is not an option!" Buy this mug

"Because elaboration is stupid!" Buy this mug