Scrall Action Language Specification

Scrall is a proposal for a new tool independent, open source action language that specifically supports xUML. It is designed to take full advantage of the mathematical and logical foundations unique to xUML. It is also designed, like the rest of xUML, to be lean, mean and free of implementation bias. In other words, the focus is on expressing processing required by a subject matter and specifying its implementation with a relatively simple language. In particular, the object-oriented programming implementation bias baked into most UML tools and standards is rejected in Scrall.

Here is a more in depth explanation of the motivation, origins and intent of Scrall.

Here's a guide to terms used throughout the specification. 

Conventions used for naming model elements and variables in xUML.

Overview of variable types and initialization.

It is generally a bad idea to embed literal data inside of model activities. Consequently, Scrall encourages alternate approaches for handling such data.

Model level data types as opposed to implementation data types are supported in Scrall.

How instances of a class may be selected.

How to hop around the class model.

This section describes actions that manage connections among instances. xUML does not use the object-oriented programming style of linking and unlinking. Consequently, Scrall has no link/unlink operation. Instead, explicit references to instance identifier values are updated using a single set/swap reference action in conjunction with instance creation and deletion.

How input and output parameters are named and accessed.

Generating signals to trigger events.

Synchronous and asynchronous interaction with external domains.

Using guards and if statements to make decisions.

Switching based on enumerated value. Switching based on subclass name.

Getting the current time.

Here is a summary of keywords and special character symbols used in Scrall.

Significant changes (especially variations from the Scrall described in the book Models to Code) are listed here.

Everything in one PDF?

This used to be all in one document, but I started breaking it down into web-size pieces and updating as I went. So, there's no comprehensive PDF avaialable at the moment, but if you would like one, let me know and I'll see if I can knit one together with all the updated content for you. (My contact info should be appearing at the bottom of the page, pick your favorite messaging channel).