Action Language

Part I: Graphical Model

Graphical Model

Part II: Objects and Attributes

601. STATEMENT BLOCK (AL_SB)

Statement Block ( ID )

Identifiers:
ID

601.1. Statement Block.ID

602. OPERATION BODY (AL_OB)

Operation Body ( Statement Block, Operation Owner, Operation, Code, Code Status )

Identifiers:
Statement Block

602.1. Operation Body.Statement Block (R)

References:
Statement Block.ID (across R606)

602.2. Operation Body.Operation Owner

602.3. Operation Body.Operation

602.4. Operation Body.Code

Data Type: Code

602.5. Operation Body.Code Status

Data Type: Code Status

603. CONTROL BLOCK (AL_ControlB)

Control Block ( Statement Block )

Identifiers:
Statement Block

603.1. Control Block.Statement Block (R)

References:
Statement Block.ID (across R606)

604. IF BLOCK (AL_IB)

If Block ( Statement Block, Condition, Else Block )

Identifiers:
Statement Block

604.1. If Block.Statement Block (R)

604.2. If Block.Condition (R)

References:
Expression.ID (across R608)

604.3. If Block.Else Block (R)

605. FOR BLOCK (AL_FB)

For Block ( Statement Block, Instance Variable, Instance Set Expression )

Identifiers:
Statement Block

605.1. For Block.Statement Block (R)

References:
Variable.Statement Block (across R610)

605.2. For Block.Instance Variable (R)

References:
Variable.Name (across R610)

605.3. For Block.Instance Set Expression (R)

606. WHILE BLOCK (AL_WB)

While Block ( Statement Block, Condition )

Identifiers:
Statement Block

606.1. While Block.Statement Block (R)

606.2. While Block.Condition (R)

References:
Expression.ID (across R612)

607. ELSE BLOCK (AL_SiB)

Else Block ( Statement Block )

Identifiers:
Statement Block

607.1. Else Block.Statement Block (R)

608. STATEMENT (AL_S)

Statement ( ID, Statement Block )

Identifiers:
ID

608.1. Statement.ID

608.2. Statement.Statement Block (R)

References:
Statement Block.ID (across R604)

609. ASSIGNMENT STATEMENT (AL_AS)

Assignment Statement ( )

610. SET ATTRIBUTE (AL_SA)

Set Attribute ( )

611. GET ATTRIBUTE (AL_GA)

Get Attribute ( )

612. BREAK STATEMENT (AL_BS)

Break Statement ( Statement, Break Count )

Identifiers:
Statement

612.1. Break Statement.Statement (R)

612.2. Break Statement.Break Count

Data Type: Positive Integer

613. DELETE EVENT STATEMENT (AL_CaS)

Delete Event Statement ( )

614. CASE BLOCK (AL_CB)

Case Block ( )

615. CONTINUE STATEMENT (AL_CS)

Continue Statement ( Statement, Continue Count )

Identifiers:
Statement

615.1. Continue Statement.Statement (R)

615.2. Continue Statement.Continue Count

Data Type: Positive Integer

616. CREATE EVENT STATEMENT (AL_CES)

Create Event Statement ( )

617. CREATE OBJECT STATEMENT (AL_COS)

Create Object Statement ( Statement, Information Model, Object, Instance Variable Block, Instance Variable )

Identifiers:
Statement

617.1. Create Object Statement.Statement (R)

617.2. Create Object Statement.Information Model (R)

References:
Object.Information Model (across R619)

617.3. Create Object Statement.Object (R)

References:
Object.Entity (across R619)

617.4. Create Object Statement.Instance Variable Block (R)

References:
Variable.Statement Block (across R620)

617.5. Create Object Statement.Instance Variable (R)

References:
Variable.Name (across R620)

618. EVENT SPECIFICATION STATEMENT (AL_ESS)

Event Specification Statement ( )

619. EXPRESSION (AL_E)

Expression ( ID )

Identifiers:
ID

619.1. Expression.ID

620. GENERATE STATEMENT (AL_GS)

Generate Statement ( )

621. GET INPUT PARAMETER (AL_GIP)

Get Input Parameter ( )

622. INPUT ARGUMENT (AL_IA)

Input Argument ( )

623. INVOKE OPERATION EXPRESSION (AL_IOE)

Invoke Operation Expression ( )

624. LITERAL VALUE (AL_LV)

Literal Value ( )

625. RETURNED OUTPUT PARAMETER (AL_ROP)

Returned Output Parameter ( )

626. PARTICIPANT INSTANCE VALUE (AL_PIV)

Participant Instance Value ( )

627. PREDEFINED UNARY/BINARY OPERATOR (AL_PUBO)

Predefined Unary/Binary Operator ( )

628. RELATE/UNRELATE STATEMENT (AL_RUS)

Relate/Unrelate Statement ( )

629. RETURN STATEMENT (AL_RS)

Return Statement ( Statement )

Identifiers:
Statement

629.1. Return Statement.Statement (R)

630. SELECT INSTANCES (AL_SI)

Select Instances ( )

631. SELECT RELATED (AL_SR)

Select Related ( )

632. SELECT STATEMENT (AL_SS)

Select Statement ( )

633. SWITCH STATEMENT (AL_SwS)

Switch Statement ( )

634. VARIABLE (AL_V)

Variable ( Data Item, Statement Block, Name )

Identifiers:
Statement Block + Name

634.1. Variable.Data Item (R)

References:
Data Item.Arbitrary ID (across R248)

634.2. Variable.Statement Block (R)

References:
Statement Block.ID (across R605)

634.3. Variable.Name

Data Type: Name

635. SET VARIABLE (AL_SV)

Set Variable ( )

636. GET VARIABLE (AL_GV)

Get Variable ( )

637. ACCESS STATEMENT (AL_AS_z)

Access Statement ( )

638. CONTROL STATEMENT (AL_CS_z)

Control Statement ( )

639. IF ELSE BLOCK (AL_IEB)

If Else Block ( )

640. DELETE OBJECT STATEMENT (AL_DOS)

Delete Object Statement ( )

641. CREATE EVENT AND GENERATE STATEMENT (AL_CEAGS)

Create Event And Generate Statement ( )

642. SIMPLE GENERATE STATEMENT (AL_SGS)

Simple Generate Statement ( )

643. INVOKE OPERATION STATEMENT (AL_IOS)

Invoke Operation Statement ( )

644. INVOKE OPERATION (AL_IO)

Invoke Operation ( )

645. ASSIGNED OUTPUT PARAMETER (AL_AOP)

Assigned Output Parameter ( )

646. DECLARE STATEMENT (AL_DS)

Declare Statement ( )

Part III: Relationships

R601.Operation DEFINES Operation Body (1:1c)
Operation Body IS DEFINED BY Operation

R602.Operation IS RELATED TO Invoke Operation (1:1)
Invoke Operation IS RELATED TO Operation

R603.Output Parameter IS RELATED TO Returned Output Parameter (1:1)
Returned Output Parameter IS RELATED TO Output Parameter

R604.Statement Block CONTAINS Statement (1:Mc)
Statement IS CONTAINED IN Statement Block

Formalization:
Statement.Statement Block  Statement Block.ID

R605.Statement Block DEFINES SCOPE OF Variable (1:Mc)
Variable SCOPE IS DEFINED BY Statement Block

Formalization:
Variable.Statement Block  Statement Block.ID

R606.Statement Block IS A (SUPERTYPE OF) Case Block
Statement Block IS A (SUPERTYPE OF) Else Block
Statement Block IS A (SUPERTYPE OF) Control Block
Statement Block IS A (SUPERTYPE OF) Operation Body

Case Block IS A (SUBTYPE OF) Statement Block
Else Block IS A (SUBTYPE OF) Statement Block
Control Block IS A (SUBTYPE OF) Statement Block
Operation Body IS A (SUBTYPE OF) Statement Block

Formalization:
Control Block.Statement Block  Statement Block.ID
Operation Body.Statement Block  Statement Block.ID

R607.Control Block IS A (SUPERTYPE OF) For Block
Control Block IS A (SUPERTYPE OF) If Block
Control Block IS A (SUPERTYPE OF) While Block

For Block IS A (SUBTYPE OF) Control Block
If Block IS A (SUBTYPE OF) Control Block
While Block IS A (SUBTYPE OF) Control Block

R608.If Block CONDITION Expression (1c:1)
Expression IS RELATED TO If Block

Formalization:
If Block.Condition  Expression.ID

R609.If Block CONTAINS ELSE If Else Block (1c:1c)
If Else Block IS RELATED TO If Block

R610.For Block INSTANCE Variable (1c:1)
Variable IS RELATED TO For Block

Formalization:
For Block.Statement Block  Variable.Statement Block
For Block.Instance Variable  Variable.Name

R611.For Block INSTANCE SET Variable (1c:1)
Variable IS RELATED TO For Block

R612.While Block CONDITION Expression (1c:1)
Expression IS RELATED TO While Block

Formalization:
While Block.Condition  Expression.ID

R613.Statement IS A (SUPERTYPE OF) Access Statement
Statement IS A (SUPERTYPE OF) Control Statement
Statement IS A (SUPERTYPE OF) Create Event Statement
Statement IS A (SUPERTYPE OF) Declare Statement
Statement IS A (SUPERTYPE OF) Delete Event Statement
Statement IS A (SUPERTYPE OF) Generate Statement
Statement IS A (SUPERTYPE OF) Invoke Operation Statement
Statement IS A (SUPERTYPE OF) Set Variable

Access Statement IS A (SUBTYPE OF) Statement
Control Statement IS A (SUBTYPE OF) Statement
Create Event Statement IS A (SUBTYPE OF) Statement
Declare Statement IS A (SUBTYPE OF) Statement
Delete Event Statement IS A (SUBTYPE OF) Statement
Generate Statement IS A (SUBTYPE OF) Statement
Invoke Operation Statement IS A (SUBTYPE OF) Statement
Set Variable IS A (SUBTYPE OF) Statement

R614.Assignment Statement ASSIGNS VALUE OF Expression (1c:1)
Expression VALUE IS ASSIGNED BY Assignment Statement

R615.Assignment Statement IS A (SUPERTYPE OF) Set Attribute
Assignment Statement IS A (SUPERTYPE OF) Set Variable

Set Attribute IS A (SUBTYPE OF) Assignment Statement
Set Variable IS A (SUBTYPE OF) Assignment Statement

R616.Set Attribute WRITES VALUE TO Attribute (Mc:1)
Attribute IS WRITTEN VALUE BY Set Attribute

R617.Set Attribute WRITES VALUE TO ATTRIBUTE IN INSTANCE VALUE OF Variable (1c:1)
Variable INSTANCE VALUE IS READ BY Set Attribute

R618.Get Attribute READS VALUE OF Attribute (Mc:1)
Attribute HAS VALUE READ BY Get Attribute

R619.Create Object Statement ACCESSES INSTANCE OF Object (Mc:1)
Object DEFINES INSTANCE ACCESSED BY Create Object Statement

Formalization:
Create Object Statement.Information Model  Object.Information Model
Create Object Statement.Object  Object.Entity

R620.Create Object Statement IS RELATED TO Variable (Mc:1c)
Variable IS RELATED TO Create Object Statement

Formalization:
Create Object Statement.Instance Variable Block  Variable.Statement Block
Create Object Statement.Instance Variable  Variable.Name

R621.Event Specification Statement GENERATES INSTANCE OF Event (Mc:1)
Event DEFINES INSTANCE GENERATED BY Event Specification Statement

R622.Event Specification Statement IS A (SUPERTYPE OF) Create Event And Generate Statement
Event Specification Statement IS A (SUPERTYPE OF) Create Event Statement

Create Event And Generate Statement IS A (SUBTYPE OF) Event Specification Statement
Create Event Statement IS A (SUBTYPE OF) Event Specification Statement

R623.Expression IS A (SUPERTYPE OF) Get Attribute
Expression IS A (SUPERTYPE OF) Get Input Parameter
Expression IS A (SUPERTYPE OF) Get Variable
Expression IS A (SUPERTYPE OF) Invoke Operation Expression
Expression IS A (SUPERTYPE OF) Literal Value
Expression IS A (SUPERTYPE OF) Predefined Unary/Binary Operator

Get Attribute IS A (SUBTYPE OF) Expression
Get Input Parameter IS A (SUBTYPE OF) Expression
Get Variable IS A (SUBTYPE OF) Expression
Invoke Operation Expression IS A (SUBTYPE OF) Expression
Literal Value IS A (SUBTYPE OF) Expression
Predefined Unary/Binary Operator IS A (SUBTYPE OF) Expression

R624.Generate Statement IS A (SUPERTYPE OF) Create Event And Generate Statement
Generate Statement IS A (SUPERTYPE OF) Simple Generate Statement

Create Event And Generate Statement IS A (SUBTYPE OF) Generate Statement
Simple Generate Statement IS A (SUBTYPE OF) Generate Statement

R625.Get Input Parameter IS RELATED TO Input Parameter (1:1)
Input Parameter IS RELATED TO Get Input Parameter

R626.Invoke Operation INVOKED WITH INPUT VALUE Expression (1c:Mc)
Expression VALUE IS INPUT TO Invoke Operation
Input Argument ASSOCIATES Invoke Operation AND Expression 1-(1c:Mc)

R627.Input Argument IS RELATED TO Input Parameter (1:1)
Input Parameter IS RELATED TO Input Argument

R628.Literal Value IS RELATED TO Data Value (Mc:1)
Data Value IS RELATED TO Literal Value

R629.Return Statement IS RELATED TO Expression (1:Mc)
Expression IS RELATED TO Return Statement
Returned Output Parameter ASSOCIATES Return Statement AND Expression 1-(1:Mc)

R630.Relate/Unrelate Statement RELATES/UNRELATES INSTANCE VALUE OF Variable (1c:M)
Variable INSTANCE VALUE IS RELATED/UNRELATED BY Relate/Unrelate Statement
Participant Instance Value ASSOCIATES Relate/Unrelate Statement AND Variable 1-(1c:M)

R631.Participant Instance Value IS DEFINED BY Participant (Mc:1)
Participant DEFINES Participant Instance Value

R632.Predefined Unary/Binary Operator OPERANDS ON SECOND VALUE Expression (1c:1c)
Expression VALUE IS SECOND OPERAND OF Predefined Unary/Binary Operator

R633.Predefined Unary/Binary Operator OPERATES ON FIRST OPERAND Expression (1c:1)
Expression VALUE IS FIRST OPERAND OF Predefined Unary/Binary Operator

R634.Relate/Unrelate Statement CREATES/DELETES INSTANCE OF Relationship (Mc:1)
Relationship DEFINES INSTANCE CREATED/DELETED BY Relate/Unrelate Statement

R635.Select Instances READS INSTANCES OF Object (Mc:1)
Object DEFINES INSTANCES READ BY Select Instances

R636.Select Statement IS A (SUPERTYPE OF) Select Instances
Select Statement IS A (SUPERTYPE OF) Select Related

Select Instances IS A (SUBTYPE OF) Select Statement
Select Related IS A (SUBTYPE OF) Select Statement

R637.Select Statement IS FILTERED BY BOOLEAN Expression (1c:1c)
Expression FILTERS Select Statement

R638.Select Statement WRITES SELECTED INSTANCES TO Variable (1:1)
Variable IS RELATED TO Select Statement

R639.Switch Statement IS RELATED TO Case Block (1:M)
Case Block IS RELATED TO Switch Statement

R640.Variable IS WRITTEN VALUE BY Set Variable (1:Mc)
Set Variable WRITES VALUE TO Variable

R641.Get Variable READS VALUE OF Variable (Mc:1)
Variable HAS VALUE READ BY Get Variable

R642.Access Statement IS A (SUPERTYPE OF) Create Object Statement
Access Statement IS A (SUPERTYPE OF) Delete Object Statement
Access Statement IS A (SUPERTYPE OF) Relate/Unrelate Statement
Access Statement IS A (SUPERTYPE OF) Select Statement
Access Statement IS A (SUPERTYPE OF) Set Attribute

Create Object Statement IS A (SUBTYPE OF) Access Statement
Delete Object Statement IS A (SUBTYPE OF) Access Statement
Relate/Unrelate Statement IS A (SUBTYPE OF) Access Statement
Select Statement IS A (SUBTYPE OF) Access Statement
Set Attribute IS A (SUBTYPE OF) Access Statement

R643.Control Statement IS A (SUPERTYPE OF) Break Statement
Control Statement IS A (SUPERTYPE OF) Continue Statement
Control Statement IS A (SUPERTYPE OF) Control Block
Control Statement IS A (SUPERTYPE OF) Return Statement
Control Statement IS A (SUPERTYPE OF) Switch Statement

Break Statement IS A (SUBTYPE OF) Control Statement
Continue Statement IS A (SUBTYPE OF) Control Statement
Control Block IS A (SUBTYPE OF) Control Statement
Return Statement IS A (SUBTYPE OF) Control Statement
Switch Statement IS A (SUBTYPE OF) Control Statement

R644.If Else Block IS A (SUPERTYPE OF) Else Block
If Else Block IS A (SUPERTYPE OF) If Block

Else Block IS A (SUBTYPE OF) If Else Block
If Block IS A (SUBTYPE OF) If Else Block

R645.Delete Object Statement IS RELATED TO Variable (1:1)
Variable IS RELATED TO Delete Object Statement

R646.Invoke Operation IS A (SUPERTYPE OF) Invoke Operation Expression
Invoke Operation IS A (SUPERTYPE OF) Invoke Operation Statement

Invoke Operation Expression IS A (SUBTYPE OF) Invoke Operation
Invoke Operation Statement IS A (SUBTYPE OF) Invoke Operation

R647.Invoke Operation Statement IS RELATED TO Variable (1:1)
Variable IS RELATED TO Invoke Operation Statement
Assigned Output Parameter ASSOCIATES Invoke Operation Statement AND Variable 1-(1:1)

R648.Assigned Output Parameter IS RELATED TO Output Parameter (1:1)
Output Parameter IS RELATED TO Assigned Output Parameter

R649.Declare Statement IS RELATED TO Variable (1:1)
Variable IS RELATED TO Declare Statement