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

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...

Building a Simple Text Generator: A Hands-on Introduction

Introduction Text generation is one of the most exciting applications of Natural Language Processing (NLP) . From autocorrect and chatbots to AI-generated stories and news articles , text generation models help machines produce human-like text. In this blog post, we’ll introduce a simple yet effective text generation method using Markov Chains . Unlike deep learning models like GPT, this approach doesn’t require complex neural networks—it relies on probability-based word transitions to create text. We’ll walk through: ✅ The concept of Markov Chains and how they apply to text generation. ✅ A step-by-step implementation , fetching Wikipedia text and training a basic text generator. ✅ Example outputs and future improvements. The Concept of Markov Chains in Text Generation A Markov Chain is a probabilistic model that predicts future states (or words) based only on the current state (or word), rather than the full sentence history. How it works in text generation: 1️⃣ We analyze a gi...

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 ...