AcceptEventAction

In the Unified Modeling Language (UML), an AcceptEventAction waits for the occurrence of one or more Events. If an accepted Event occurrence is for a CallEvent, then a ReplyAction may be used to reply to it. If an accepted Event occurrence is for a SignalEvent, then the received Signal instance may either be unmarshalled immediately into its attribute values, or this may be done later using an UnmarshallAction.

AcceptEventAction is an Action with Triggers for one or more Events. When an AcceptEventAction is executed, it waits for an Event occurrence to be dispatched from the event pool of the context object for its execution that matches one of its Triggers. The context object for an AcceptEventAction is the context object of the Behavior execution within which the AcceptEventAction is executing (which may be the Behavior execution itself. An AcceptEventAction is a wait point, except only the AcceptEventAction waits, rather than the whole Activity (Activities can have other Actions executing while AcceptEventActions are waiting).

If a matching Event occurrence for an AcceptEventAction is dispatched from the event pool, then the AcceptEventAction is enabled to continue. However, if the containing Behavior execution has more than one waiting Trigger that matches the Event occurrence, only one of them will be selected to actually trigger. If the Trigger on the AcceptEventAction is chosen, then it completes and produces output on any result OutputPins.

An AcceptEventAction with a trigger for a SignalEvent is informally called an accept signal action. If an accept signal action has isUnmarshall=false, then it must have a single result OutputPin on which the Signal instance associated with an accepted SignalEvent occurrence is placed. If it has isUnmarshall=true, then it must have result OutputPins corresponding to each of the attributes of the Signal of the SignalEvent (in order), and the attribute values of the Signal instance associated with an accepted SignalEvent occurrence are placed on these OutputPins.

An AcceptEventAction with a trigger for a TimeEvent is informally called a wait time action. A wait time action must have a single result OutputPin. When it accepts a TimeEvent occurrence, then the time value of when the occurrence transpired is placed on the result OutputPin.

If the triggers of an AcceptEventAction are all for ChangeEvents and/or CallEvents, then the AcceptEventAction has no result OutputPins (unless the AcceptEventAction is an AcceptCallAction). If the triggers include SignalEvents and/or TimeEvents along with ChangeEvents and/or CallEvents, then the AcceptEventAction must have isUnmarshall=false and a single result OutputPin, on which a null token is placed in the case of the acceptance of an occurrence of a ChangeEvent or a CallEvent.

NOTE. While an AcceptEventAction can, in general, contain triggers for CallEvents, it cannot accept synchronous calls unless it is an AcceptCallAction.

If one of the triggers of an AcceptEventAction is an AnyReceiveEvent, and the Event occurrence is for a message that is not matched by a SignalEvent or CallEvent trigger on the same AcceptEventAction, then the Event occurrence matches the trigger for the AnyReceiveEvent.

If an AcceptEventAction is used in an Activity, there are special rules for when it is enabled. If the AcceptEventAction has no incoming edges, by the usual rules, it is enabled when its immediately containing Activity (or StructuredActivityNode) begins execution. However, in addition, an AcceptEventAction with no incoming edges remains enabled after it accepts an Event occurrence. That is, it does not terminate after accepting an Event occurrence and outputting any values, but continues to wait for another Event occurrence. Such an AcceptEventAction is terminated when its immediately containing Activity (or StructuredActivityNode) is terminated.

Use Case Diagram

Purpose: The purpose of the Use Case Diagram template is to document user interactions in a system context, as well as the context between different cases of user interactions. Below, you can see an example of a Use Case Diagram for the service at a restaurant:

UseCaseDiagram_2

Core concerns: The available objects you have to model use cases include: System Boundary, Actors, Use Cases, and connectors such as Association, Generalization, Include and Extend. Below, you can see an example of a Use Case Diagram for a booking system at a car rental service:

UseCaseDiagram_1

Relation to other diagrams: It is important to break down use cases into other diagrams such as Sequence Diagrams, Communication Diagrams, and Activity Diagrams templates for elaboration.

Properties and metadata: The Use Case Diagram can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the accuracy of the diagram
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram
  • Project status: information about budgeted and actual man-hours spent, percentage completed and the latest milestone, result and quality control of a change process.

In the picture below you can see the Use Case Diagram’s properties dialogue window, where the properties can be viewed and edited:

State Machine Diagram

Purpose: The purpose of the State Machine Diagram template is to document the dynamic behavior of a class or an object.

Core concerns: The State Machine Diagram template enables you to model States, Pseudo States, History States, Lines and Annotations. These can be connected by Transitions.

As such, the State Machine Diagram can be used to show the different states of a class or an object and how the class or object responds to various events by changing from one state to another.

Below, you can see an example of a State Machine Diagram for an ATM:

StateMachineDiagram_1

Relation to other templates: The State Machine Diagram can be a decomposition of a State and can also be derived from a Class. The State Machine Diagram template is related to, but cannot replace the State Event Diagram, which is used to document Event States and time dependent behavior of systems.

Properties and metadata: The State Machine Diagram can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the diagram
  • Link to a specific State of an object the diagram specializes
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram

The above picture shows the properties dialogue window for the State Machine Diagram where you can view and edit the diagram’s properties in QualiWare Lifecycle Manager.

 

 

 

State Event Diagram

Purpose: The purpose of the State Event Diagram template is to document the time dependent behavior of a system by showing the different States and State Transitions a system can go through.

Core concerns: The State Event Diagram enables you to model States and connect them with State Transitions. The State can be manipulated by opening its properties dialog and chose ‘Final State’ to illustrate the end of the state. The Start event is created by choosing ‘Start’ in the properties of the State Transition.

Below, you can see an example of a State Event Diagram for an ordering system:

StateEventDiagram_1

Relation to other templates: The State Event Diagram template should not be used to model Machines States. The State Machine Diagram template should be used to model these types of diagrams instead. The State Event Diagram offers a view of a system which is complimentary to those presented by for example, Use Case Diagrams Communication Diagrams, Component diagrams and Sequence Diagrams.

Properties and metadata: The State Event Diagram template ­­­­can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the diagram
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram

The above picture shows the properties dialogue window for the State Event Diagram template, where you can view and edit the diagram’s properties in QualiWare Lifecycle Manager.

Sequence Diagram

Purpose: The purpose of the Sequence Diagram template is to document interactions between processes over time. Below you can see a Sequence Diagram for a car rental’s booking system:

SquenceDiagram_1

Core concerns: Sequence Diagrams are typically used to document object interactions over time in a use case for an Information System. Objects are situated along vertical Lifelines. Horizontal arrows that travel between the lifelines in a set sequence are used to illustrate how message exchanges occur at a specific point in time. The objects available in this model are Lifelines, Combined Fragments, Interaction Use, Gates, Time Constraints and Duration Constraints and Messages. Below, you can see an alternate example of a Sequence Diagram for a car rental’s booking system:

SquenceDiagram_2

Relation to other templates: Though the customer can be included in this type of diagram, you should use the Customer Journey Map to document and analyze the customers’ interactions with your organization. If you want to map a simpler view of actors’ interactions with a system without details on time constraints, you can use a Use Case Diagram.

Properties and metadata: The Sequence Diagram can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the accuracy of the diagram
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram
  • Project status: information about budgeted and actual man-hours spent, percentage completed and the latest milestone, result and quality control of a change process.

In the picture below you can see the Sequence Diagram’s properties dialogue window, where the properties can be viewed and edited:

Requirement Model

Purpose: The purpose of the Requirement Model template is to document goals, objectives and other requirements for the enterprise or a specific project. Below, you can see an example of a Requirement Model showing the Policies and Business Rules of an organization:

RequirementModel_1

Core concerns: With the Requirement Model template, you can for example model Requirements, Goals, Change Requests, Policies, Business Rules, Critical Success Factors and Problems. This enables you to illustrate the interrelationships of requirements, for example showing which goals influence or contribute to each other, as the example below shows:

RequirementModel_3

You can also divide goals up in different areas that may for example be subject to different regulations as below:

RequirementModel_2

Relation to other templates: The Requirement Model offers a more detailed view on Requirements and Goals filtering out elements such as vision and mission compared to the Strategy Model. It can be used to detail how your organization live up to requirements specified in a Regulation Diagram or Requirements indicated in a Stakeholder Model.

Properties and metadata: The Requirement Model can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the accuracy of the diagram
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram
  • Project status: information about budgeted and actual man-hours spent, percentage completed and the latest milestone, result and quality control of a change process.

In the picture below you can see the Requirement Model’s properties dialogue window, where the properties can be viewed and edited:

 

 

Product Architecture

Purpose: The purpose of the Product Architecture template is to document the building blocks of a product. Below is an example of a product architecture:

ProductArchitecture_1

Core concerns: The Product Architecture template enables you to model a Product and connect different parts of it with three different connection types: Part of Product, Kind of Product, and Product Interface. See below for an example of a Product Architecture where each Product object is represented graphically:

 ProductArchitecture_2

Relation to other templates: Depending on whether the product is in production or in its development phase, it could be further described in a Product Viewpoint template, have a Product Variant Master, Product Rule Table or be represented in a Product Canvas. It may also be illustrated along with other products in a Product Roadmap, just as its production may be detailed in a Manufacturing Routing Network.

Properties and metadata: The Product Architecture can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the accuracy of the diagram
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram
  • Project status: information about budgeted and actual man-hours spent, percentage completed and the latest milestone, result and quality control of a change process.

In the picture below you can see the Product Architecture’s properties dialogue window, where the properties can be viewed and edited:

Lifecycle Assessment Diagram

Purpose: The purpose of the Life Cycle Assessment Diagram template is to document the relations for an activity or product in a lifecycle context.

Core concerns: The Lifecycle Assessment Diagram concerns itself with modelling elements in a company that interact with the environment. The template enables you to model Environmental Aspects and Objectives for Activities in your organization. This template allows you to model Business Objects, Activities, Performance Indicators, Business Connection, Goals, Policies, Critical Success Factors, Change Requests and Problems. These elements can be grouped into Categories and connected by Impact Quantity, Recycling, Logistical Flows, Information Flows, and Activity Paths.

Below, you can see an example of a Lifecycle Assessment Diagram for a Product, from production to packaging, focusing on reducing unbiodegradable waste:

The elements used in this example are Business Objects as input and output, Activities showing Logistical Flows and Recycle under Process. Under the Environment Category, Environmental Aspects, Impact and Objectives are identified and Policies for reaching the Objectives are also included. The diagram focus on a single Environmental impact: Waste. You can also choose to map out several Environmental impacts that are relevant to a specific activity or product.

Relation to other templates: The Environmental Aspects and Impacts from the Lifecycle Assessment Diagram can be further explored in the Environmental Impact Diagram. The Lifecycle Assessment Diagram is also related to the Business Process Diagram and Workflow Diagram, in the sense that they all are related to detailing aspects of processes. The Lifecycle Assessment Diagram can also be decomposed from the Inventory object shown in, for example, the Production Site template.

Properties and metadata: The Lifecycle Assessment Diagram template ­­­­can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the diagram
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram

The above picture shows the properties dialogue window for the Lifecycle Assessment Diagram template, where you can view and edit the diagram’s properties in QualiWare Lifecycle Manager.

For more information: You can learn more about Lifecycle Assessment on the US Sustainable Facilities Tool website or turn to ISO standard 14040.

Integration View

Purpose: The purpose of the Integration View template is to document the routing of integrations between systems.

Core concerns: The Integration View template enables you to model Information Systems, System Components and External Entities (a source to or a receiver of information from a system), and connect them using Integration Flows.

Below is an example of an Integration View concerning the flow of test data:

Relation to other templates: The Integration View belongs to the Application layer of the architecture and is as such related to the Application Architecture Diagram, the Data Flow Diagram and the Component Diagram.

Properties and metadata: The Integration View template can for example retain the following information:

  • A description of the model
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram

The above picture shows the properties dialogue window for the Integration View template where you can view and edit the diagram’s properties in QualiWare Lifecycle Manager.

 

Deployment Diagram

Purpose: The purpose of the Deployment Diagram is to document the configuration of run-time processing nodes and the components they contain.

Core concerns: The Deployment Diagram template is structural UML diagram that enables you to model Packages, Components, Artifacts, Instance Specifications, Properties, Nodes, Devices, Execution Environments, Deployment Specifications, Objects, Classes, Interfaces, and Annotations. They can then be connected through Association, Dependency, Generalization, Deployment or Manifestation.

The Deployment Diagram models how the different hardware component and software components are connected. Below you can see an example of a Deployment Diagram for a booking service:

DeploymentDiagram_1

In the next example, you can see how Packages and Components would be included in a Deployment Diagram:

DeploymentDiagram_2

Relation to other templates: The Deployment Diagram is, as a component model, part of the application domain on the operational level. As such, it offers a complimentary view to those of the Application Architecture Diagram, Class Diagram, Component Diagram, Data Flow Diagram, Data Mapping Diagram, Data Replication Diagram, Sequence Diagram, State Event Diagram, Structure Chart, and Use Case Diagram.

Properties and metadata: The Deployment Diagram can for example retain the following information:

  • A description of the diagram
  • Link to the owner of the diagram
  • Link to the one responsible for the diagram
  • Links to extensions such as Stereotypes and Constraints
  • Audits (auto generated information regarding its current state and access rights)
  • Associated documents, diagrams and other objects
  • Inherent Risk detailing risk considerations
  • Governance information detailing information about the published diagram and who has been involved in the approval of the diagram

The above picture shows the properties dialogue window for the Deployment Diagram where you can view and edit the diagram’s properties in QualiWare Lifecycle Manager.