Skip to main content

Example 8: ArchiMate triggering relationships in various layers and across layers

 

Diagram:


Code:

@startuml

!include <archimate/Archimate>

<style>

element {

    HorizontalAlignment: left;

    MinimumWidth: 180;

    Padding: 20;

}

note {

    BackgroundColor: #FFFFCC;

    RoundCorner: 5;

    MaximumWidth: 250;

}

</style>

left to right direction

title "ArchiMate 3.2 Valid Triggering Relationships"


' Business Layer Triggering Relationships

rectangle "Business Layer Triggering" {

    Business_Event(be1, "Order Received")

    Business_Process(bp1, "Process Order")

    Rel_Triggering(be1, bp1, "triggers")

    note on link

        Event triggering a Process

        (most common pattern)

    end note

    

    Business_Process(bp2, "Validate Order")

    Business_Process(bp3, "Fulfill Order")

    Rel_Triggering(bp2, bp3, "triggers")

    note on link

        Process triggering another Process

        (sequential processes)

    end note

    

    Business_Function(bf1, "Inventory Management")

    Business_Process(bp4, "Restock Products")

    Rel_Triggering(bf1, bp4, "triggers")

    note on link

        Function triggering a Process

        (function initiates process)

    end note

    

    Business_Process(bp5, "Customer Registration")

    Business_Function(bf2, "Customer Management")

    Rel_Triggering(bp5, bf2, "triggers")

    note on link

        Process triggering a Function

    end note

    

    Business_Function(bf3, "Sales")

    Business_Function(bf4, "Shipping")

    Rel_Triggering(bf3, bf4, "triggers")

    note on link

        Function triggering another Function

        (sequential functions)

    end note

    

    Business_Interaction(bi1, "Customer Meeting")

    Business_Process(bp6, "Create Proposal")

    Rel_Triggering(bi1, bp6, "triggers")

    note on link

        Interaction triggering a Process

    end note

    

    Business_Service(bs1, "Complaint Service")

    Business_Process(bp7, "Resolve Complaint")

    Rel_Triggering(bs1, bp7, "triggers")

    note on link

        Service triggering a Process

    end note

}


' Application Layer Triggering Relationships

rectangle "Application Layer Triggering" {

    Application_Event(ae1, "Data Received")

    Application_Process(ap1, "Process Data")

    Rel_Triggering(ae1, ap1, "triggers")

    note on link

        Event triggering a Process

    end note

    

    Application_Process(ap2, "Validate Input")

    Application_Process(ap3, "Store Data")

    Rel_Triggering(ap2, ap3, "triggers")

    note on link

        Process triggering another Process

    end note

    

    Application_Function(af1, "User Authentication")

    Application_Process(ap4, "Log User Activity")

    Rel_Triggering(af1, ap4, "triggers")

    note on link

        Function triggering a Process

    end note

    

    Application_Process(ap5, "Generate Report")

    Application_Function(af2, "Notification")

    Rel_Triggering(ap5, af2, "triggers")

    note on link

        Process triggering a Function

    end note

    

    Application_Function(af3, "Data Analysis")

    Application_Function(af4, "Report Generation")

    Rel_Triggering(af3, af4, "triggers")

    note on link

        Function triggering another Function

    end note

    

    Application_Interaction(ai1, "Systems Integration")

    Application_Process(ap6, "Synchronize Data")

    Rel_Triggering(ai1, ap6, "triggers")

    note on link

        Interaction triggering a Process

    end note

    

    Application_Service(as1, "Search Service")

    Application_Process(ap7, "Index Update")

    Rel_Triggering(as1, ap7, "triggers")

    note on link

        Service triggering a Process

    end note

}


' Technology Layer Triggering Relationships

rectangle "Technology Layer Triggering" {

    Technology_Event(te1, "System Startup")

    Technology_Process(tp1, "Initialize Services")

    Rel_Triggering(te1, tp1, "triggers")

    note on link

        Event triggering a Process

    end note

    

    Technology_Process(tp2, "Backup Data")

    Technology_Process(tp3, "Verify Backup")

    Rel_Triggering(tp2, tp3, "triggers")

    note on link

        Process triggering another Process

    end note

    

    Technology_Function(tf1, "System Monitoring")

    Technology_Process(tp4, "Alert Handling")

    Rel_Triggering(tf1, tp4, "triggers")

    note on link

        Function triggering a Process

    end note

    

    Technology_Process(tp5, "Hardware Check")

    Technology_Function(tf2, "Resource Allocation")

    Rel_Triggering(tp5, tf2, "triggers")

    note on link

        Process triggering a Function

    end note

    

    Technology_Function(tf3, "Network Scanning")

    Technology_Function(tf4, "Security Update")

    Rel_Triggering(tf3, tf4, "triggers")

    note on link

        Function triggering another Function

    end note

    

    Technology_Interaction(ti1, "Server Cluster Communication")

    Technology_Process(tp6, "Load Balance")

    Rel_Triggering(ti1, tp6, "triggers")

    note on link

        Interaction triggering a Process

    end note

    

    Technology_Service(ts1, "Storage Service")

    Technology_Process(tp7, "Storage Optimization")

    Rel_Triggering(ts1, tp7, "triggers")

    note on link

        Service triggering a Process

    end note

}


' Cross-Layer Triggering Relationships

rectangle "Cross-Layer Triggering" {

    Business_Event(be2, "Customer Order")

    Application_Process(ap8, "Process Order")

    Rel_Triggering(be2, ap8, "triggers")

    note on link

        Business Event triggering

        Application Process

    end note

    

    Business_Process(bp8, "Customer Registration")

    Application_Function(af5, "Store Customer Data")

    Rel_Triggering(bp8, af5, "triggers")

    note on link

        Business Process triggering

        Application Function

    end note

    

    Application_Event(ae2, "Scheduled Maintenance")

    Technology_Process(tp8, "System Update")

    Rel_Triggering(ae2, tp8, "triggers")

    note on link

        Application Event triggering

        Technology Process

    end note

    

    Application_Process(ap9, "Batch Processing")

    Technology_Function(tf5, "Resource Allocation")

    Rel_Triggering(ap9, tf5, "triggers")

    note on link

        Application Process triggering

        Technology Function

    end note

}


' Implementation & Migration Layer Triggering Relationships

rectangle "Implementation & Migration Layer Triggering" {

    Implementation_Event(ie1, "Project Milestone")

    Implementation_WorkPackage(wp1, "Implementation Phase")

    Rel_Triggering(ie1, wp1, "triggers")

    note on link

        Implementation Event triggering

        Work Package

    end note

    

    Implementation_WorkPackage(wp2, "Design Phase")

    Implementation_WorkPackage(wp3, "Development Phase")

    Rel_Triggering(wp2, wp3, "triggers")

    note on link

        Work Package triggering

        another Work Package

    end note

}


@enduml

Comments

Popular posts from this blog

Example 1: ArchiMate relationship in PlantUML code to demonstrate 15 relationship types

 Following section presents 15 types of relationships in ArchiMate and PlantUML to generate the diagram. Since this code is generated by GEN-AI it may require precision on aspects other than PlantUML syntax: Diagram Plant UML Code:  @startuml '!includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml ' Another way of including Archimate Library (above is commented for following) !include <archimate/Archimate> !theme archimate-standard from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes title ArchiMate Relationships Overview <style> element{     HorizontalAlignment: left;     MinimumWidth : 180;     Padding: 25; } </style> left to right direction rectangle Other {     Business_Role(Role_SeniorManager, "Senior Manager")     Business_Role(Role_Manager, "Manager") } rectangle Dynamic {     Business_Event(Event_CustomerReques...

Mastering Trade-Off Analysis in System Architecture: A Strategic Guide for Architects

 In system architecture and design, balancing conflicting system qualities is both an art and a science. Trade-off analysis is a strategic evaluation process that enables architects to make informed decisions that align with business goals and technical constraints. By prioritizing essential system attributes while acknowledging inevitable compromises, architects can craft resilient and efficient solutions. This enhanced guide provides actionable insights and recommendations for architects aiming to master trade-off analysis for impactful architectural decisions. 1. Understanding Trade-Off Analysis Trade-off analysis involves identifying and evaluating the conflicting requirements and design decisions within a system. Architects must balance critical aspects like performance, scalability, cost, security, and maintainability. Since no system can be optimized for every quality simultaneously, prioritization based on project goals is essential. Actionable Insights: Define key quality ...

Virtual environments in python

 Creating virtual environments is essential for isolating dependencies and ensuring consistency across different projects. Here are the main methods and tools available, along with their pros, cons, and recommendations : 1. venv (Built-in Python Virtual Environment) Overview: venv is a lightweight virtual environment module included in Python (since Python 3.3). It allows you to create isolated environments without additional dependencies. How to Use: python -m venv myenv source myenv/bin/activate # On macOS/Linux myenv\Scripts\activate # On Windows Pros: ✅ Built-in – No need to install anything extra. ✅ Lightweight – Minimal overhead compared to other tools. ✅ Works across all platforms . ✅ Good for simple projects . Cons: ❌ No dependency management – You still need pip and requirements.txt . ❌ Not as feature-rich as other tools . ❌ No package isolation per project directory (requires manual activation). Recommendation: Use venv if you need a simple, lightweight solut...