RAL concrete syntax


In this section we present the EBNF notation of RAL and its detailed description.


Expression := IS PersonConstraint

| HAS GroupResourceType GroupResourceConstraint

| SHARES Amount GroupResourceType WITH PersonConstraint

| HAS CAPABILITY CapabilityConstraint

| IS ASSIGNMENT IN ACTIVITY activityName

| RelationshipExpression

| CompoundExpression


RelationshipExpression := ReportExpression

| DelegateExpression


ReportExpression := REPORTS TO PositionConstraint Depth

| IS Depth REPORTED BY PositionConstraint


DelegateExpression := CAN DELEGATE WORK TO PositionConstraint

| CAN HAVE WORK DELEGATED BY PositionConstraint


CompoundExpression := NOT (Expression)

| (Expression) OR (Expression)

| (Expression) AND (Expression)

| (Expression) AND IF POSSIBLE (Expression)


PersonConstraint := personName

| PERSON IN DATA FIELD dataObject.fieldName

| PERSON WHO DID ACTIVITY activityName HistoryExpression

| PERSON WHO HAS PARTICIPATED IN BPHistoryExpression


GroupResourceConstraint := groupResourceName

| IN DATA FIELD dataObject.fieldName


CapabilityConstraint := capabilityName

| CapabilityRestriction


PositionConstraint := POSITION name_position

| POSITION OF PersonConstraint


HistoryExpression := IN CURRENT INSTANCE

| IN ANY INSTANCE

| IN ANOTHER INSTANCE

| FROM startDate TO endDate


BPHistoryExpression := CURRENT PROCESS INSTANCE

| ANY PROCESS INSTANCE

| ANOTHER PROCESS INSTANCE

| A PROCESS INSTANCE BETWEEN startDate AND endDate


Amount := SOME

| ALL


GroupResourceType := POSITION

| ROLE

| UNIT


Depth := DIRECTLY

| λ


RAL allows expressing the following assignments: