user particles

This section aims to provide an overview of the fundamental user particles of casual and their relationships.

That is, the entities that are involved from a user code perspective, during runtime.

particles

The following diagram illustrates the relationship between the user particles

particles

resource

  • Configuration of a specific resource

  • servers and executables uses this to “connect” to resources (if they’re built with a resource)

group

  • Groups server and executables.

  • Dependencies to other groups

  • Determine the boot and shutdown ordering

  • Has 0..* resources dependencies, which give members of the group implicit dependencies

server

  • executable that casual can communicate whith, i.e. it has a message pump.

  • Scales with instances

  • Is a member of 0..* groups.

  • Has 0..* explicit resources dependencies

instance (server)

  • Running process of a given server

  • Advertises 0..* services

  • Is a member of 0..* groups.

executable

  • Arbitary executable

  • casual communicates only with SIGINT to shutdown the executable

  • Has 0..* explicit resources dependencies

instance (executable)

  • Running process of a given executable

service

  • XATMI service

  • entry point for 0..* instances (that could be from different servers)