Skip to main content

Starr's Concise Relational Action Language - For Shlaer-Mellor Executable UML

Project description

Scrall Action Language

Scrall = Starr's Concise Relational Action Language

This is an action language that supports Shlaer-Mellor executable UML. It allows you to specify computation inside states, methods, and external entity operations.

This language is consistent with the Shlaer Mellor Metamodel, another repository on this site.

NOTE: If you have the Scrall version 1.0.0 PDF, consider it superceded by the wiki on this site where the language spec is now maintained and updated.

Platform independent action sequencing

This language is designed to support data flow execution, so that there is no arbitrary sequencing built in. You can transform any chunk of action language (a method, operation, or state activity) into a data flow graph where each action may execute as soon as all of its inputs are satisfied. So the only sequencing is that demanded by the application, independent of any particular target platform.

Relational operations supported

You can manipulate both instances of classes and relations (tables) interchangeably. Data access is decidely NOT Sql-like. Instead C.J. Date's Tutorial D semantics are supported. This means that relational operations are closed under the algebra such that any given operation yields a relation, so you can readily nest expressions to specify powerful data manipulation.

Class instances may be converted to relations and vice versa.

See the wiki on this repository for a full description of the language features.

UPDATE 2023-7-04

For the last couple of years all of the primary scrall development has been managed in the class-model-dsl (metamodel db) repository. I had it there as a matter of convenience while populating action semantics into the Shlaer-Mellor metamodel. But the time has come to refactor what is becoming a bit of a monolith over there and today, I am permanently moving all the latest scrall code back here to its proper home.

When the migration is complete, you will be able to grab the latest Scrall parser from PyPI without having to download the whole Shlaer-Mellor metamodel database populator. This separation is essential since you might want to define your own action language and parser to use with the metamodel, or just play with Scrall on its own.

I will post another update when it's ready here and on PyPI. The parser is currently in decent shape, so it's just a matter of putting a command line interface on it and a bit of packaging.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrall-0.2.7.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

scrall-0.2.7-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file scrall-0.2.7.tar.gz.

File metadata

  • Download URL: scrall-0.2.7.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for scrall-0.2.7.tar.gz
Algorithm Hash digest
SHA256 5f779319926fe15a2afd02539bab831dad8263dd76cfdc64294eae8d4b4d487e
MD5 dc70edbcc1198086a5c1f9dc8fc0d175
BLAKE2b-256 0d96c439932cfadece66ca5a0af6635ada55ad456685a946a9873a56e1c2fa1f

See more details on using hashes here.

File details

Details for the file scrall-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: scrall-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for scrall-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ca1bbd0c65ec6f0cd0a8b6e6d804566baa79417589275aee4efbf862babd71c5
MD5 303ab67bf28eaebc30413389018b9854
BLAKE2b-256 edb35e0771bc032ecb091e2f0e28fbacdd97ebe26c59d70bb55850d736e8eb48

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page