So far we've described our objects and relationships between them, but our system is still quite boring, since nothing ever happens and nothing ever changes. Let's fix that!
So what are the actions in our fruit and basket system? Well, for starters, we could have a "put fruit in basket" action. In ALM, actions are just another sort of object, so we put them in with sorts. We notate this in the same way as objects:
Every action in ALM is a subsort of
action, which itself is a subsort
What are the attributes of our
put_fruit_in_basket action? Well, we probably
should select a specific fruit.
In reactive settings like user interfaces, actions are often used to describe events - e.g. a button was clicked, a key was pressed, and HTTP request returned, etc.
Note that we haven't defined at all what happens when a
occurs; we'll do that in the next section with axioms.
And that's all there is to it! We now have a sorts, relationships, and actions for our system, which together comprise its signature. Let's see the whole thing at once: