ActionGUI consists of three different, but interrelated models:

ActionGUI provides specific, textual modeling languages to specify each of these models.

In addition, the OCL language (in the context of the underlying data model) is used in security models (to specify authorization constraints), and GUI models (to specify conditions and action arguments). ActionGUI implements the following OCL features:

  • The OCL Standard Library:
    • Primitive types and their operations.
    • Collection types and their operations and iterators.
    • Tuple types.
  • The allInstances() operation, for each entity defined in the data model.
  • Let expressions.
  • The Date&Time Library. This library extends the OCL Standard Library to give support for common useful types and operations related to dates, times and zones. The types and operations implemented are defined in the following API, with the following exceptions:
    • Only operations which arguments are neither collections nor tuples, are implemented.
    • Only the following types can be used as property (attributes or association-ends) types in the data model:
      • Duration.
      • Instant.
      • LocalDate.
      • LocalDateTime.
      • LocalTime.
      • ZoneId.