BNF for Parser.jj

NON-TERMINALS

CompilationUnit ::= StreamDetail ( Declaration )* <EOF>
StreamDetail ::= <CODEPAGE> <INT_LITERAL> ( <FM_RELEASE> ( <V3R1> | <V3R2> | <V3R3> ) ( <INT_LITERAL> )? )?
Declaration ::= ( ProcessingAction | Person | Role | Organization | Level | Process | ProcessCategory | Program | Structure | ToolSet | ProcessInstancesList | ProcessTemplatesList | Worklist | ActivitiesList | Domain | ExternalDomain | Group | Node | System | PEAgent | Server | QueueManager )
ProcessingAction ::= ( <DELETE> ( ObjectList | ServerID ) | <END_TRANSACTION> )
ObjectList ::= ( <ORGANIZATION> | <PERSON> | <ROLE> | <PROCESS> | <PROCESS_CATEGORY> | <PROGRAM> | <STRUCTURE> | <TOOL_SET> | <ACTIVITIES_LIST> | <PROCESS_INSTANCES_LIST> | <TEMPLATE_LIST> | <WORKLIST> | <DOMAIN> | <GROUP> | <EXTERNAL_DOMAIN> | <NODE> | <QUEUE_MANAGER> | <PROGRAM_EXECUTION_AGENT> | <PEA> | <SYSTEM> ) ( Name )+
Name ::= ( <IDENTIFIER> | <STRING_LITERAL> )
ServerID ::= <SERVER> ( Name )+ <TYPE> ( <CLEANUP_SERVER> | <DISTRIBUTION_SERVER> | <EXECUTION_SERVER> | <GATEWAY_SERVER> | <MODELING_SERVER> | <PROGRAM_EXECUTION_SERVER> | <PES> | <SCHEDULING_SERVER> | <USER_DEFINED_PROGRAM_EXECUTION_SERVER> | <UPES> )
Person ::= ( ProcessingOption )? <PERSON> Name ( <STRING_LITERAL> )? ( PersonSetting )* <END> ( Name )?
ProcessingOption ::= ( <CREATE> | <REPLACE> | <UPDATE> )
PersonSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <PERSON_ID> Name | <PASSWORD> ( <STRING_LITERAL> | <HEX_LITERAL> ) | <GROUP> Name | <SYSTEM> Name | <FIRST_NAME> Name | <MIDDLE_NAME> Name | <LAST_NAME> Name | <PHONE> <STRING_LITERAL> | <SECOND_PHONE> <STRING_LITERAL> | <LEVEL> <INT_LITERAL> | <SUBSTITUTE> Name | <RELATED_ROLE> ( Name )+ | <RELATED_ORGANIZATION> Name | <IS_ABSENT> | <IS_NOT_ABSENT> | ( <DO> <NOT> )? <RESET_ABSENT> | <AUTHORIZED_FOR> ( <AUTHORIZATION> | <OPERATION> | <PROCESS_MODELING> | <STAFF> | <TOPOLOGY> | Authorize_ProcessCategory | Authorize_Worklist )+ )
Authorize_ProcessCategory ::= <PROCESS_CATEGORY> ( ( Name ( <AS_ADMINISTRATOR> )? )+ | ( <ALL> ( <AS_ADMINISTRATOR> )? ) )
Authorize_Worklist ::= ( <WORKITEMS_OF> | <WORKLIST_OF> ) ( ( Name )+ | <ALL> )
Role ::= ( ProcessingOption )? <ROLE> Name ( RoleSetting )* <END> ( Name )?
RoleSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <COORDINATOR> Name | <RELATED_PERSON> ( Name )+ )
Organization ::= ( ProcessingOption )? <ORGANIZATION> Name ( OrganizationSetting )* <END> ( Name )?
OrganizationSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <MANAGER> Name | <PARENT_ORGANIZATION> Name | <RELATED_PERSON> ( Name )+ )
Level ::= ( ProcessingOption )? <LEVEL> <INT_LITERAL> ( LevelSetting )* <END> ( <INT_LITERAL> )?
LevelSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <NAME> Name )
Process ::= ( ProcessingOption )? <PROCESS> Name ( ArgumentList )? ( ( ProcessSetting | ProcessStaffAssignment | ProcessGraphics | Source | Sink | ProcessDefaultSetting | ActivityDefaultSetting ) )* ( Construct )* <END> ( Name )?
ArgumentList ::= <LPAREN> ( Name )? <COMMA> ( Name )? <RPAREN>
ProcessSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <VALID_FROM> TimeStamp | <CATEGORY> Name | ( <DO> <NOT> )? <PROMPT_AT_PROCESS_START> | <RC_CREATION> ( <MIN> | <MAX> | <LAST> ) | <INPUT_CONTAINER> ( ContainerInitial )+ | <OUTPUT_CONTAINER> ( ContainerInitial )+ | <GLOBAL_CONTAINER> <RELATED_STRUCTURE> Name ( GlobalContainerSetting )* )
TimeStamp ::= <STRING_LITERAL>
ContainerInitial ::= Name <INITIAL_VALUE> <STRING_LITERAL>
GlobalContainerSetting ::= ( <NO_QUERIES> | <TABLE_NAME> Name | <INDEX> ( IndexSetting )+ | <CONTAINER_INITIALS> ( ContainerInitial )+ )
IndexSetting ::= ( <INDEX_NAME> Name | <RELATED_STRUCTURE_MEMBER> ( Name )+ )
ProcessStaffAssignment ::= ( <DATA> <FROM> <INPUT_CONTAINER> | ( <NOTIFICATION> <AFTER> ( TimeInterval | <TAKEN_FROM> Name ) | <ORGANIZATION> ( <TAKEN_FROM> )? Name | <PROCESS_ADMINISTRATOR> ( <TAKEN_FROM> )? Name | <ROLE> ( <TAKEN_FROM> )? Name ) )
TimeInterval ::= ( TimeIntervalToken )+
TimeIntervalToken ::= ( <INT_LITERAL> <YEARS> | <INT_LITERAL> <MONTHS> | <INT_LITERAL> <WEEKS> | <INT_LITERAL> <DAYS> | <INT_LITERAL> <HOURS> | <INT_LITERAL> <MINUTES> | <INT_LITERAL> <SECONDS> )
ProcessGraphics ::= ( <WINDOW> ( WindowLayout )+ | <ICON> <STRING_LITERAL> | <PAPER> <COLOR> Color | <PAPER_BACKGROUND> <COLOR> Color | <ACTIVITY_NAMES> ( <COLOR> Color ( FontSetting )* | ( FontSetting )+ ) | <CONTROL_CONNECTORS> <COLOR> Color | <DATA_CONNECTORS> <COLOR> Color | <EXIT_CONDITIONS> ( <COLOR> Color ( FontSetting )* | ( FontSetting )+ ) | <TRANSITION_CONDITIONS> ( <COLOR> Color ( FontSetting )* | ( FontSetting )+ ) )
WindowLayout ::= ( <PAPERSIZE> SymbolSize | <SHOW> ( <ALL> <CONNECTORS> | <CONTROL_CONNECTORS> | <DATA_CONNECTORS> | <NO> <CONNECTORS> ) | <SHOW> ( <ALL> <CONDITIONS> | <EXIT_CONDITIONS> | <NO> <CONDITIONS> | <TRANSITION_CONDITIONS> ) | <SHOW> ( <NO> )? <TEXT_ANNOTATIONS> | <VIEW_REFERENCE_POINT> ScreenPosition | <ZOOM_FACTOR> <INT_LITERAL> )
SymbolSize ::= <WIDTH> <INT_LITERAL> <HEIGHT> <INT_LITERAL>
ScreenPosition ::= <XPOS> <INT_LITERAL> <YPOS> <INT_LITERAL>
Color ::= <INT_LITERAL> <INT_LITERAL> <INT_LITERAL>
FontSetting ::= ( <FONT> Name | <FONT_SIZE> <INT_LITERAL> | <FONT_STYLE> ( <BOLD> | <ITALIC> )+ | <FONT_DESCRIPTOR> <STRING_LITERAL> )
Source ::= <SOURCE> <INT_LITERAL> ( SymbolLayout )?
SymbolLayout ::= ScreenPosition ( SymbolSize )?
Sink ::= ( <SINK> | <GLOBAL_CONTAINER> ) <INT_LITERAL> ( SymbolLayout )?
ProcessDefaultSetting ::= ( ( <NO> | <CONDENSED> | <FULL> | <FILTER> )? ( <AUDIT> | <AUDIT_TO_DB> | <AUDIT_TO_MQ> ) | <NOTIFICATION_MODE> ( <RUN> | <HOLD> ) | <REFRESH_POLICY> ( <PUSH> | <PULL> ) | <KEEP_WORKITEMS> TimePeriod | <KEEP_PROCESSES> TimePeriod | ( <DO> <NOT> )? <TERMINATE_ON_ERROR> | Autonomy <AUTONOMY> )
TimePeriod ::= ( TimeInterval | <FOREVER> | <NEVER> )
Autonomy ::= ( <FULL> | <NO> | ( <STAFF> | <NOTIFICATION> | <ADMINISTRATION> | <CONTROL> )+ )
ActivityDefaultSetting ::= ( ( <NO> )? <CHECKOUT_POSSIBLE> | ( <DO> <NOT> )? <ENFORCE_IMMEDIATE_EXECUTION> | ( <DO> <NOT> )? <INCLUDE_PROCESS_ASSIGNMENT> | ( <DO> <NOT> )? <PREFER_LOCAL_USERS> | ( <DO> <NOT> )? <PREFER_NON_ABSENT_USERS> | ( <DO> <NOT> )? <SELECT_LEAST_WORKLOAD> | ( <NO> )? <SUBSTITUTION> | ( <NO> )? <NOTIFICATION_SUBSTITUTION> | ( <NO> )? <DUPLICATE_NOTIFICATION> | <AUDIT_FILTER_DB> <STRING_LITERAL> | <AUDIT_FILTER_MQ> <STRING_LITERAL> )
Construct ::= ( Activity | ControlFlow | DataFlow | TextAnnotation )
Activity ::= ( BlockActivity | BundleActivity | InformationActivity | ProcessActivity | ProgramActivity )
BlockActivity ::= <BLOCK> Name ( ArgumentList )? ( ActivitySetting | BlockActivitySetting | Source | Sink )* ( Construct )* <END> ( Name )?
ActivitySetting ::= ( <INPUT_CONTAINER> ( ContainerInitial )+ | <OUTPUT_CONTAINER> ( ContainerInitial )+ | <LAYOUT> SymbolLayout | <ICON> <STRING_LITERAL> | <NAME_POSITION> ScreenPosition | <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
BlockActivitySetting ::= ( <START> <WHEN> ( <AT_LEAST_ONE> <CONNECTOR> | <ALL> <CONNECTORS> ) <TRUE> | <EXIT> <WHEN> <STRING_LITERAL> ( ScreenPosition )? | <WINDOW> ( WindowLayout )+ | <RC_CREATION> ( <MIN> | <MAX> | <LAST> ) )
BundleActivity ::= <BUNDLE_ACTIVITY> Name ( ArgumentList )? ( ActivitySetting | ActivityExtensionSetting | ActivityDefaultSetting | BundleActivitySetting )* ( InformationActivity | ProgramActivity | ProcessActivity ) <END> ( Name )?
ActivityExtensionSetting ::= ( <SUPPORT_TOOL> ( Name )+ | <START> ( <AUTOMATIC> | <MANUAL> ) <WHEN> ( <AT_LEAST_ONE> <CONNECTOR> | <ALL> <CONNECTORS> ) <TRUE> | <EXIT> ( <AUTOMATIC> | <MANUAL> ) ( <WHEN> <STRING_LITERAL> ( ScreenPosition )? )? | <PRIORITY> ( <INT_LITERAL> | <DEFINED_IN> <INPUT_CONTAINER> | <TAKEN_FROM> Name ) | <DONE_BY> ActivityStaffAssignment | Notification | Expiration )
ActivityStaffAssignment ::= ( <STAFF> <DEFINED_IN> <INPUT_CONTAINER> | ( <ALL> | ( StaffRoleOrgLevel )+ | <COORDINATOR> <OF> <ROLE> ( <TAKEN_FROM> )? Name | <MANAGER> <OF> <ORGANIZATION> ( <TAKEN_FROM> )? Name | ( <PERSON> ( <TAKEN_FROM> )? ( Name )+ )+ | ( <MANAGER> <OF> | <EXCLUDE> )? <STARTER_OF_ACTIVITY> Name | <PROCESS_ADMINISTRATOR> | ( <MANAGER> <OF> )? <PROCESS_STARTER> ) )
StaffRoleOrgLevel ::= ( <MEMBER> <OF> ( <ROLE> ( <TAKEN_FROM> )? ( Name )+ )+ | <ORGANIZATION> ( <TAKEN_FROM> )? Name ( <INCLUDE_CHILD_ORGANIZATIONS> | <INCLUDE_REPORTING_MANAGERS> | <MEMBERS_ONLY> )? | <LEVEL> ( <INT_LITERAL> | <TAKEN_FROM> Name ) ( <DOT> <DOT> ( <INT_LITERAL> | <TAKEN_FROM> Name ) )? )
Notification ::= <NOTIFICATION> ( ( <TO> ( <PROCESS_ADMINISTRATOR> | <MANAGER> | <COORDINATOR> | Name | <TAKEN_FROM> Name ) <AFTER> ( TimeInterval | <TAKEN_FROM> Name ) ( <SECOND_NOTIFICATION> <AFTER> ( TimeInterval | <TAKEN_FROM> Name ) )? ) | <DEFINED_IN> <INPUT_CONTAINER> )
Expiration ::= <EXPIRATION> <AFTER> ( TimeInterval | ( <TAKEN_FROM> Name ) )
BundleActivitySetting ::= ( <RESTART_OPTION> ( <REUSE> | <REPLAN> ) | ( <DO> <NOT> )? <PROMPT_FOR_PLANNING> | <PLANNING_MODE> ( <PEOPLE> | <NUMBER> | <DATA> ) | <ASSIGNMENT> ( <NONE> | <SIMPLE> ) | <INSTANTIATION_FIELD> Name | <NUMBER_OF_INSTANCES> ( <TAKEN_FROM> Name | <INT_LITERAL> ) | <RC_CREATION> ( <MIN> | <MAX> | <LAST> ) )
InformationActivity ::= <INFORMATION_ACTIVITY> Name ( ArgumentList )? ( ActivitySetting | ActivityExtensionSetting | ActivityDefaultSetting )* <END> ( Name )?
ProcessActivity ::= <PROCESS_ACTIVITY> Name ( ArgumentList )? ( ActivitySetting | ActivityExtensionSetting | ActivityDefaultSetting | ProcessActivitySetting )* <END> ( Name )?
ProcessActivitySetting ::= ( <PROCESS> | <SYSTEM> ) ( <TAKEN_FROM> )? Name
ProgramActivity ::= <PROGRAM_ACTIVITY> Name ( ArgumentList )? ( ActivitySetting | ActivityExtensionSetting | ActivityDefaultSetting | ProgramActivitySetting )* <END> ( Name )?
ProgramActivitySetting ::= ( <PROGRAM> Name | ( <PROGRAM_EXECUTION_SERVER> | <PROGRAM_EXECUTION_UNIT> ) ( <TAKEN_FROM> )? Name | <SYNCHRONIZATION> ( <CHAINED> | <NESTED> ) )
ControlFlow ::= <CONTROL> ( ConnectorSetting )* ControlMap ( ControlSetting )*
ConnectorSetting ::= ( <NAME> Name | <DESCRIPTION> <STRING_LITERAL> )
ControlMap ::= ( <FROM> )? Name ( <TO> | <TO_SIGN> ) Name
ControlSetting ::= ( <WHEN> <STRING_LITERAL> ( ScreenPosition )? | <OTHERWISE> | <LAYOUT> ( ScreenPosition )+ )
DataFlow ::= <DATA> ( ConnectorSetting )* DataMap ( DataSetting )*
DataMap ::= ( <_DEFAULT> Name | ( <FROM> )? ( Name | <SOURCE> ( <INT_LITERAL> )? ) ( <TO> | <TO_SIGN> ) ( Name | ( <SINK> | <GLOBAL_CONTAINER> ) ( <INT_LITERAL> )? ) | <LOOP> Name )
DataSetting ::= ( MemberMap | <LAYOUT> ( ScreenPosition )+ )
MemberMap ::= ( <MAP> )? Name ( <TO> | <TO_SIGN2> ) Name
TextAnnotation ::= <TEXT_ANNOTATION> <INT_LITERAL> ( TextAnnotationSetting )* <END> ( <INT_LITERAL> )?
TextAnnotationSetting ::= ( <COLOR> Color | FontSetting | <LAYOUT> SymbolLayout | <TEXT> <STRING_LITERAL> | <BACKGROUND> <COLOR> Color )
ProcessCategory ::= ( ProcessingOption )? <PROCESS_CATEGORY> Name ( ProcessCategorySetting )* <END> ( Name )?
ProcessCategorySetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
Program ::= ( ProcessingOption )? <PROGRAM> Name ( ArgumentList )? ( ProgramSetting )* ( PlatformSetting )* <END> ( Name )?
ProgramSetting ::= ( ( <NO> )? <STRUCTURES_FROM_ACTIVITY> | ( <NOT> )? <UNATTENDED> | <EXECUTION_MODE> ( <NORMAL> | <SAFE> ) | <EXECUTION_USER> ( <AGENT> | <STARTER> ) | ( <NO> )? <INPUT_CONTAINER_ACCESS> | ( <NO> )? <OUTPUT_CONTAINER_ACCESS> | ( <NOT> )? <TRUSTED> | <ICON> <STRING_LITERAL> | <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
PlatformSetting ::= ( <OS2> ( <DLL> ( DLLSetting )+ | <EXE> ( OS2EXESetting )+ | <EXTERNAL> ( ExternalSetting )+ ) | <AIX> ( <DLL> ( DLLSetting )+ | <EXE> ( UnixEXESetting )+ | <EXTERNAL> ( ExternalSetting )+ ) | ( ( <HPUX> | <SOLARIS> | <LINUX> ) ( <DLL> ( DLLSetting )+ | <EXE> ( UnixEXESetting )+ | <EXTERNAL> ( ExternalSetting )+ ) ) | ( ( <WIN95> | <WINNT> ) ( <DLL> ( DLLSetting )+ | <EXE> ( WINEXESetting )+ | <EXTERNAL> ( ExternalSetting )+ ) ) | <OS390> <EXTERNAL> ( ExternalSetting )+ )
OS2EXESetting ::= ( <PARAMETER> <STRING_LITERAL> | <PATH_AND_FILENAME> <STRING_LITERAL> | <WORKING_DIRECTORY> <STRING_LITERAL> | <ENVIRONMENT> <STRING_LITERAL> | ( <DO> <NOT> )? <INHERIT> <ENVIRONMENT> | <STYLE> ( <VISIBLE> | <INVISIBLE> | <MINIMIZED> | <MAXIMIZED> ) | ( <NO> )? <START> <FOREGROUND> | ( <NO> )? <AUTOCLOSE> )
UnixEXESetting ::= ( <PARAMETER> <STRING_LITERAL> | <PATH_AND_FILENAME> <STRING_LITERAL> | <WORKING_DIRECTORY> <STRING_LITERAL> | <ENVIRONMENT> <STRING_LITERAL> | ( <DO> <NOT> )? <INHERIT> <ENVIRONMENT> | ( <DO> <NOT> )? <RUN_IN_XTERM> )
WINEXESetting ::= ( <PARAMETER> <STRING_LITERAL> | <PATH_AND_FILENAME> <STRING_LITERAL> | <WORKING_DIRECTORY> <STRING_LITERAL> | <ENVIRONMENT> <STRING_LITERAL> | ( <DO> <NOT> )? <INHERIT> <ENVIRONMENT> | <STYLE> ( <VISIBLE> | <INVISIBLE> | <MINIMIZED> | <MAXIMIZED> ) | ( <NO> )? <START> <FOREGROUND> )
DLLSetting ::= ( <PARAMETER> <STRING_LITERAL> | <PATH_AND_FILENAME> <STRING_LITERAL> | <ENTRY_POINT> <STRING_LITERAL> | ( <NO> )? <FENCED_MODE> | ( <DO> <NOT> )? <KEEP_LOADED> | ( <NO> )? <DLL_V2_COMPATIBILITY> )
ExternalSetting ::= ( <SERVICE> <STRING_LITERAL> | <SERVICE_TYPE> <STRING_LITERAL> | <INVOCATION_TYPE> <STRING_LITERAL> | <EXECUTABLE> <STRING_LITERAL> | <EXECUTABLE_TYPE> <STRING_LITERAL> | ( <NO> )? <LOCAL_USER> | ( <NO> )? <SECURITY_CHECKING> | <CODEPAGE> <INT_LITERAL> | <DURATION> TimePeriod | ( <NO> )? <MAPPING> | <MAPPING_TYPE> <STRING_LITERAL> | <FORWARD_MAPPING> <STRING_LITERAL> | <BACKWARD_MAPPING> <STRING_LITERAL> | <FORWARD_MAPPING_PARAMETERS> <STRING_LITERAL> | <BACKWARD_MAPPING_PARAMETERS> <STRING_LITERAL> )
Structure ::= ( ProcessingOption )? <STRUCTURE> Name ( StructureSetting )* ( MemberDeclaration )* <END> ( Name )?
StructureSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
MemberDeclaration ::= Name ( <COMMA> Name )* <COLON> MemberType ( MemberCardinality )? ( MemberSetting )* <SEMI>
MemberType ::= ( <BINARY> | <FLOAT> | <LONG> | <STRING> | Name )
MemberCardinality ::= ( <LBRACK> <INT_LITERAL> <RBRACK> | <LPAREN> <INT_LITERAL> <RPAREN> )
MemberSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
ToolSet ::= ( ProcessingOption )? <TOOL_SET> Name ( ToolSetSetting )* <END> ( Name )?
ToolSetSetting ::= ( <DEFAULT_PROCESS_ACTIVITY_ICON> Name | <DEFAULT_BLOCK_ACTIVITY_ICON> Name | <DEFAULT_BUNDLE_ACTIVITY_ICON> Name | <DEFAULT_INFORMATION_ACTIVITY_ICON> Name | <DEFAULT_PROGRAM_ACTIVITY_ICON> Name | <BLOCK_ACTIVITY_SET> ( Name )+ | <BUNDLE_ACTIVITY_SET> ( Name )+ | <INFORMATION_ACTIVITY_SET> ( Name )+ | <PROCESS_ACTIVITY_SET> ( Name )+ | <PROGRAM_ACTIVITY_SET> ( Name )+ | <DESCRIPTION> <STRING_LITERAL> )
ProcessInstancesList ::= ( ProcessingOption )? <PROCESS_INSTANCES_LIST> Name ( ListCommonSetting )* <END> ( Name )?
ProcessTemplatesList ::= ( ProcessingOption )? <TEMPLATE_LIST> Name ( ListCommonSetting )* <END> ( Name )?
Worklist ::= ( ProcessingOption )? <WORKLIST> Name ( ListCommonSetting | WorklistSetting )* <END> ( Name )?
ActivitiesList ::= ( ProcessingOption )? <ACTIVITIES_LIST> Name ( ListCommonSetting )* <END> ( Name )?
ListCommonSetting ::= ( <TYPE> ( <PRIVATE> <OWNER> Name | <PUBLIC_RESTRICTED> ) | <WHERE> <STRING_LITERAL> | <ORDER_BY> <STRING_LITERAL> | <THRESHOLD> <INT_LITERAL> | <DESCRIPTION> <STRING_LITERAL> )
WorklistSetting ::= ( <NO> )? <BEEP>
Domain ::= ( ProcessingOption )? <DOMAIN> Name ( DomainSetting )* ( TopologyDefaultSetting )* <END> ( Name )?
DomainSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <RELATED_EXTERNAL_DOMAIN> ( Name )+ | ( <NO> )? <EXTERNAL_VERIFICATION> | <MAXIMUM_MESSAGE_SIZE> MessageSize )
MessageSize ::= ( <INT_LITERAL> ( <B> | <KB> | <MB> )? | <UNLIMITED> )
TopologyDefaultSetting ::= ( <SERVER> ( ServerDefaultSetting )+ | <PROGRAM_EXECUTION_AGENT> ( PEADefaultSetting )+ | <PROCESS> ( ProcessDefaultSetting | ActivityDefaultSetting )+ | <ACTIVITY> ( ActivityDefaultSetting )+ | <PROGRAM> ( ProgramDefaultSetting )+ | <IMPORT> ( ImportDefaultSetting )+ | <OPERATION> ( OperationDefaultSetting )+ | <SESSION> ( SessionDefaultSetting )+ )
ServerDefaultSetting ::= <TYPE> ( <EXECUTION_SERVER> ( ( ServerCommonSetting | ExecutionServerContext ) )* | <SCHEDULING_SERVER> ( ServerCommonSetting | SchedulingServerContext )* | <MODELING_SERVER> ( ServerCommonSetting )* | <GATEWAY_SERVER> ( ServerCommonSetting )* | <DISTRIBUTION_SERVER> ( ServerCommonSetting | DistributionServerContext )* | <CLEANUP_SERVER> ( ServerCommonSetting | CleanupServerContext )* | <PROGRAM_EXECUTION_SERVER> ( ServerCommonSetting | PEServerContext | PEADefaultSetting )* )
ServerCommonSetting ::= ( <ATTACH_MODE> ( <LOCAL> | <REMOTE> ) | <START_MODE> ( <DEFERRED> | <IMMEDIATE> ) | <START_TIME> TimeEvent | <STOP_TIME> TimeEvent | <CHECK_INTERVAL> TimeInterval | <INSTANCE_MODE> ( <MULTI> | <SINGLE> ) | <NUMBER_OF_INSTANCES> <INT_LITERAL> | <EXTERNAL_CONTROL> ( <NO> | <WLM> ) | <EXTERNAL_CONTROL_CONTEXT> <STRING_LITERAL> )
TimeEvent ::= ( ( <EVERY> ( <DAY> | <MONTH> | <WEEK> | <YEAR> )? ( <ON> )? ( <MONDAY> | <TUESDAY> | <WEDNESDAY> | <THURSDAY> | <FRIDAY> | <SATURDAY> | <SUNDAY> )? ( <AT> )? ( Time )? ) | <ANYTIME> )
Time ::= <INT_LITERAL> <COLON> <INT_LITERAL>
ExecutionServerContext ::= ( <CREATE_NOTIFICATION_ITEMS_THRESHOLD> <INT_LITERAL> | <DELETE_NOTIFICATION_ITEMS_THRESHOLD> <INT_LITERAL> | ( <NO> )? <LEAST_WORKLOAD_SUPPORT> | <PROCESS_BEHAVIOUR> ( <LONG> | <SHORT> ) | ( <NO> )? <IMMEDIATE_CLEANUP> | <NAVIGATION_TRANSACTION_THRESHOLD> <INT_LITERAL> )
SchedulingServerContext ::= ( <CREATE_NOTIFICATION_ITEMS_THRESHOLD> <INT_LITERAL> | <DELETE_NOTIFICATION_ITEMS_THRESHOLD> <INT_LITERAL> | <NOTIFICATION_CHECK_INTERVAL> TimeInterval | <SUSPENSION_CHECK_INTERVAL> TimeInterval )
DistributionServerContext ::= <DISTRIBUTION_RECEIVE_TIME> TimeEvent
CleanupServerContext ::= ( <CLEANUP_TIME> TimeInterval | <CLEANUP_DELAY_TIME> TimeInterval )
PEServerContext ::= ( <PLATFORM> ( <AIX> | <HPUX> | <SOLARIS> | <LINUX> | <OS2> | <OS390> | <WIN95> | <WINNT> ) | <IMPLEMENTATION_SUPPORT> ( <DLL> | <EXE> | <EXTERNAL> )+ | <USER_SUPPORT> ( <AGENT> | <PROGRAM> ) )
PEADefaultSetting ::= ( <TASKING_MODE> ( <NO> | <LIMITED> | <UNLIMITED> ) | <MAXIMUM_TASKS_STARTED> <INT_LITERAL> | <SUPPORT_MODE> ( <NORMAL> | <SAFE> ) | <DLL_LOAD_MODE> ( <NO> | <LIMITED> | <UNLIMITED> ) | <MAXIMUM_DLLS_LOADED> <INT_LITERAL> )
ProgramDefaultSetting ::= ( ( <NO> )? <FENCED_MODE> | ( <DO> <NOT> )? <KEEP_LOADED> | <EXECUTION_MODE> ( <NORMAL> | <SAFE> ) | <EXECUTION_USER> ( <AGENT> | <STARTER> ) | <ICON> <STRING_LITERAL> | ( <NO> )? <INPUT_CONTAINER_ACCESS> | ( <NO> )? <OUTPUT_CONTAINER_ACCESS> | ( <NO> )? <DLL_V2_COMPATIBILITY> | ( <NOT> )? <TRUSTED> )
ImportDefaultSetting ::= ( <IMPORT_OBJECT_COUNTER> <INT_LITERAL> | ( <DO> <NOT> )? <STOP_ON_ERROR> | ( <DO> <NOT> )? <RESET_TO_DEFAULT> | ( <DO> <NOT> )? <IGNORE_REFERENCE_ERRORS> | ( <DO> <NOT> )? <ROLLBACK_ON_ERROR> | ( <DO> <NOT> )? <OVERWRITE> )
OperationDefaultSetting ::= ( <SYSTEM_QUALIFIER> Name | <OPERATION_MODE> ( <OPTIMISTIC> | <PERSISTENT> | <ROBUST> ) | <EXTERNAL_RESTART> ( <ARM> | <NO> ) | <EXTERNAL_RESTART_CONTEXT> <STRING_LITERAL> | <MAXIMUM_QUERY_MESSAGE_SIZE> MessageSize | <CLIENT_MESSAGE_EXPIRATION_TIME> TimePeriod | <CHECK_INTERVAL_OTHER_SYSTEMS> TimeInterval | <MESSAGE_LAYER_REFRESH_INTERVAL> TimeInterval | <MESSAGE_RETAIN_PERIOD> TimePeriod | <ERROR_RETAIN_PERIOD> TimePeriod | <RESPONSE_WAIT_TIME> TimeInterval | <MESSAGE_RETRY_LIMIT> <INT_LITERAL> )
SessionDefaultSetting ::= ( <SESSION_EXPIRATION_TIME> TimePeriod | <SESSION_EXPIRATION_CHECK_INTERVAL> TimeInterval | ( <NO> )? <UNIFIED_LOGON> | <MAXIMUM_INVALID_LOGONS> <INT_LITERAL> | <LOGON_BLOCK_TIME> TimeInterval )
ExternalDomain ::= ( ProcessingOption )? <EXTERNAL_DOMAIN> Name ( ExternalDomainSetting )* <END> ( Name )?
ExternalDomainSetting ::= ( <RELATED_EXTERNAL_DOMAIN> Name | <PROTOCOL> ( <SMTP> | <MQ> ) | <DATASTREAM> <MIME> | <TYPE> ( <MQ_WORKFLOW> | <UNKNOWN> ) | <ADDRESS> <STRING_LITERAL> | <VERSION> <INT_LITERAL> | <RELEASE> <INT_LITERAL> | <LEVEL> <INT_LITERAL> | <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
Group ::= ( ProcessingOption )? <GROUP> Name ( GroupSetting )* ( TopologyDefaultSetting )* <END> ( Name )?
GroupSetting ::= ( <AUDIT_QUEUE_MANAGER_NAME> Name | <AUDIT_QUEUE_NAME> Name | <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <PARENT_GROUP> Name | <RELATED_DOMAIN> Name | <AUDIT_TOPIC_STRUCTURE> <STRING_LITERAL> )
Node ::= ( ProcessingOption )? <NODE> Name ( NodeSetting )* <END> ( Name )?
NodeSetting ::= ( <RELATED_SYSTEM> ( Name )+ | <RELATED_QUEUE_MANAGER> Name | <OPERATING_SYSTEM> ( <AIX> | <HPUX> | <SOLARIS> | <LINUX> | <OS2> | <OS390> | <WIN95> | <WINNT> | <MVS> ) | <VERSION> <INT_LITERAL> | <RELEASE> <INT_LITERAL> | <LEVEL> <INT_LITERAL> | <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> )
System ::= ( ProcessingOption )? <SYSTEM> Name ( SystemSetting )* ( TopologyDefaultSetting )* <END> ( Name )?
SystemSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <RELATED_GROUP> Name | <RELATED_NODE> Name | <RELATED_QUEUE_MANAGER> Name | ( <NO> )? <PRIMARY_SYSTEM> | <OBSERVED_SYSTEM> ( Name )+ | <SYSTEM_IDENTIFIER> <INT_LITERAL> | <VERSION> <INT_LITERAL> | <RELEASE> <INT_LITERAL> | <LEVEL> <INT_LITERAL> )
PEAgent ::= ( ProcessingOption )? <PROGRAM_EXECUTION_AGENT> ( PEAgentSetting | PEADefaultSetting )* <END>
PEAgentSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <RELATED_PERSON> Name )
Server ::= ( ProcessingOption )? <SERVER> Name ( ServerSetting | ServerDefaultSetting | ( <TYPE> <USER_DEFINED_PROGRAM_EXECUTION_SERVER> ( UPESContext )* ) )* <END> ( Name )?
ServerSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <RELATED_GROUP> Name | <RELATED_SYSTEM> Name )
UPESContext ::= ( <MQSYSTEM> <MQSERIES> | <MESSAGE_FORMAT> ( <XML> | <JMS_XML> ) | <PHYSICAL_QUEUE_NAME> Name | <QUEUE_MANAGER_NAME> Name | <VERSION> <INT_LITERAL> | <RELEASE> <INT_LITERAL> | <LEVEL> <INT_LITERAL> )
QueueManager ::= ( ProcessingOption )? <QUEUE_MANAGER> Name ( QueueManagerSetting )* <END> ( Name )?
QueueManagerSetting ::= ( <DESCRIPTION> <STRING_LITERAL> | <DOCUMENTATION> <STRING_LITERAL> | <QUEUE_MANAGER_NAME> <STRING_LITERAL> | <RELATED_SYSTEM> ( Name )+ | <SYSTEM> <MQSERIES> )