Sha256: c86b8ec9ff39f271e4c53ca9c95950382e8d9f3aa0051a566af33b3331607533

Contents?: true

Size: 902 Bytes

Versions: 4

Compression:

Stored size: 902 Bytes

Contents

vocabulary Supervision;

/*
 * Value Types
 */
CompanyName is written as String;
EmployeeNr is written as Signed Integer(32);

/*
 * Entity Types
 */
Company is identified by its Name;

Employee is identified by Company and EmployeeNr where
	Employee works for one Company,
	Company employs Employee,
	Employee has one EmployeeNr,
	EmployeeNr is of Employee;

Manager is a kind of Employee;
Manager supervises Employee,
	Employee reports to at most one Manager;

CEO is a kind of Manager;
CEO runs Company,
	Company is run by one CEO;

/*
 * Constraints:
 */
either Employee reports to Manager(1) or Employee is a Manager(2) that is a CEO that runs Company but not both;
Employee is a Manager that is a CEO that runs Company
	if and only if
	Employee works for Company;
Employee(1) reports to Manager that is a kind of Employee(2) that works for Company
	if and only if
	Employee(1) works for Company;

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
activefacts-0.8.16 examples/CQL/Supervision.cql
activefacts-0.8.15 examples/CQL/Supervision.cql
activefacts-0.8.13 examples/CQL/Supervision.cql
activefacts-0.8.12 examples/CQL/Supervision.cql