Integrare
v1.0 · în consultareRelațiile
Ce exprimă fiecare dintre cele 21 de tipuri de relații ale limbajului Public Framework Modelling Language 1.0, între ce elemente este permis și cum se desenează.
Descrie specificația v1.0
Ce este o relație
O relație leagă un element sursă de un element țintă și are un tip, unul dintre cele 21 ale limbajului. Formularea tipului se citește de la sursă spre țintă, ca o propoziție: sursa, formularea, ținta.
Regulile se exprimă după familiile elementelor, după tipuri numite sau după straturi. De exemplu, relația „finanțează” (funds) pleacă numai de la o finanțare (Funding), iar „depinde de” (dependsOn) leagă numai elemente din straturile tehnice.
Relațiile structurale
Relațiile structurale descriu alcătuirea arhitecturii: întregul și părțile lui, cine îndeplinește un comportament și ce face real un serviciu.
Relația „include în compoziție” (composition) leagă un întreg de părțile din care este alcătuit, iar „agregă” (aggregation) reunește elemente care au rost și separat, de exemplu proiectele (Project) unui program (Programme). Sursa și ținta sunt din aceeași familie; o sursă din familia loc acceptă orice țintă.
Relația „este atribuit către” (assignment) pleacă de la o structură și ajunge la un comportament, un serviciu sau un acces. Relația „realizează” (realisation) arată ce face real un serviciu, o cerință, un obiectiv sau o stare a arhitecturii; de exemplu, procedura „Assess benefit application” realizează serviciul public „Family support benefit”.
Relațiile de dependență
Relația „deservește” (serving) arată că sursa oferă ceva de care ținta se folosește. Relația „accesează” (access) arată că sursa citește sau scrie informații; câmpul opțional „modul de acces” precizează sensul: read, write sau readWrite.
Relația „influențează” (influence) arată că sursa schimbă, în bine sau în rău, o intenție, cu un semn opțional al influenței. Relația „depinde de” (dependsOn) leagă elemente din straturile tehnice APP, DEL, RUN, HST și OPS. Relația „este asociat cu” (association) leagă oricare două elemente și este legătura cea mai generală.
Relațiile dinamice
Relația „declanșează” (triggering) arată că sursa pornește ținta; ambele sunt comportamente sau evenimente, de exemplu un incident (Incident) și ghidul operațional (Runbook) care îl tratează. Relația „transferă către” (flow) arată că sursa trece țintei ceva, de exemplu date sau documente.
Implementarea și găzduirea
Relația „este implementat în” (deployedTo) leagă ceea ce se instalează (o versiune de livrare, un artefact, o unitate de execuție sau o instalare) de contextul de execuție în care este instalat. Relația „este găzduit de” (hostedBy) leagă un cluster, un nod, un serviciu administrat, un depozit de date sau un sistem software de locul sau de furnizorul care îl găzduiește.
Guvernarea, temeiul juridic și finanțarea
Relația „are ca temei juridic” (legalBasis) leagă un element din STR, LEG, ORG sau INF de o resursă juridică (LegalResource) sau de o dispoziție juridică (LegalProvision). Relația „guvernează” (governs) pleacă de la un organism de guvernanță, un acord de interoperabilitate sau o politică publică și ajunge la orice element.
Relația „finanțează” (funds) leagă o finanțare (Funding) de programul sau de proiectul pe care îl plătește. Relația „măsoară” (measures) leagă un indicator (Indicator) de un obiectiv, un scop, un serviciu public sau o capabilitate.
Riscul și continuitatea
Relația „atenuează” (mitigates) leagă o măsură de protecție de amenințarea pe care o reduce. Relația „afectează” (affects) leagă un scenariu de perturbare, un incident, o vulnerabilitate sau un risc de elementele expuse: structuri, comportamente, servicii, accese sau depozite. Un set de date nu este o țintă permisă, pentru că este o informație; depozitul de date care îl păstrează este.
Relația „recurge la” (fallsBackTo) arată la ce alternativă trece un serviciu public, un canal sau o procedură când nu funcționează normal. Relația „este restabilit după” (restoresAfter) dă ordinea în care revin elementele după o perturbare: sursa se restabilește după țintă. Relațiile restoresAfter nu formează un ciclu.
Legăturile din contexte specializate
Pe lângă cele 21 de tipuri de relații, editorul creează legături tipizate în contexte specializate, de exemplu pentru execuție, găzduire și operațiuni. Aplicația nu le păstrează ca relații, ci în câmpurile elementelor sau în tipuri ajutătoare. De exemplu, mecanismul de monitorizare „Benefit availability monitor” observă sistemul software „Benefits case platform” prin legătura observes.
În planșele de detaliu, instrumentele se leagă prin relații de detaliu (DetailRelationship), de exemplu prin fluxuri de secvență BPMN. Capetele unei relații de detaliu sunt două instrumente diferite din aceeași planșă.
Validitatea relațiilor
Editorul nu creează o relație nepermisă. Validarea semnalează ca eroare o relație nevalidă apărută altfel, de exemplu într-un fișier modificat în afara aplicației. Setările spațiului de lucru restrâng regulile încorporate, dar nu permit o relație pe care limbajul o interzice.
Tabelul relațiilor
Tabelul dă, pentru fiecare tip, formularea, linia și capetele cu care se desenează. Capătul țintă stă lângă elementul țintă, iar capătul sursă lângă elementul sursă.
| Tip | Formularea românească | Linia | Capătul țintă | Capătul sursă |
|---|---|---|---|---|
| composition | include în compoziție | continuă | fără | romb plin |
| aggregation | agregă | continuă | fără | romb gol |
| assignment | este atribuit către | continuă | săgeată deschisă | cerc plin |
| realisation | realizează | întreruptă | triunghi gol | fără |
| serving | deservește | continuă | săgeată deschisă | fără |
| access | accesează | punctată | săgeată deschisă | fără |
| triggering | declanșează | continuă | triunghi plin | fără |
| flow | transferă către | întreruptă | triunghi plin | fără |
| influence | influențează | întreruptă | săgeată deschisă | fără |
| association | este asociat cu | continuă | fără | fără |
| dependsOn | depinde de | întreruptă | săgeată deschisă | fără |
| deployedTo | este implementat în | continuă | săgeată deschisă | fără |
| hostedBy | este găzduit de | continuă | săgeată deschisă | fără |
| legalBasis | are ca temei juridic | continuă | săgeată deschisă | fără |
| governs | guvernează | continuă | săgeată deschisă | fără |
| fallsBackTo | recurge la | linie-punct | săgeată deschisă | fără |
| restoresAfter | este restabilit după | punctată | săgeată deschisă | fără |
| funds | finanțează | continuă | săgeată deschisă | fără |
| measures | măsoară | continuă | săgeată deschisă | fără |
| mitigates | atenuează | continuă | săgeată deschisă | fără |
| affects | afectează | continuă | săgeată deschisă | fără |
