It is possible to define types for Subsystems and Modules. These type definitions are made using Annotations. The Subsystem types are "Data", "Program", "External" and "User Defined".
The semantics of these types are:
Data-Subsystem. This Subsystem only exports Data, Datatypes and Constants.
Program-Subsystem. This is a "normal" Subsystem (in the original ProMod-PLUS sense) which exports Data, Datatypes, Constants and Modules.
External Subsystem. A Subsystem of this type is made available from the environment of the system to be designed. This Subsystem can either be exported from another system or it can be a tool which should be used. It is not meaningful to refine this Subsystem.
"User Defined" Subsystem. A user-defined string.