Sari la conținut
Public Framework

Fundamente

v1.0 · în consultare

Principii și concepte fundamentale

Principiile pe care se sprijină Public Framework Modelling Language 1.0 și conceptele de bază cu care lucrează orice model: modelul, elementul, stratul și familia, relația, proprietatea, planșele și identitatea.

Descrie specificația v1.0

Principiile limbajului

  • Fiecare concept aparține unui singur strat și unei singure familii. Apartenența este fixată în definiția tipului, nu în model; o planșă combină însă liber elemente din oricare dintre cele 12 straturi.
  • Codurile straturilor sunt stabile. Codul, de exemplu STR, este identificatorul stratului; denumirea și culoarea servesc doar afișării.
  • Relațiile sunt tipizate și verificate. Editorul nu creează o relație nepermisă, iar validarea o semnalează ca eroare dacă apare altfel.
  • Intenția politică este separată de temeiul juridic. O politică publică (Policy) are un temei juridic fără să devină o resursă juridică (LegalResource).
  • Serviciul public este separat de software-ul care îl susține. Astfel, serviciul rămâne același când aplicația se schimbă.
  • Continuitatea serviciului este separată de recuperarea tehnică. OPS descrie recuperarea sistemelor; CNT descrie cum continuă serviciul public când sistemele nu funcționează.
  • Stratul X nu este un loc pentru elemente neclasificate. Fiecare concept transversal este explicit și legat de subiectele lui.
  • Identitatea obiectelor este stabilă. Redenumirea schimbă numele, nu identificatorul.

Modelul și planșa lui

Un model (Model) este o descriere de arhitectură salvată într-un fișier .pfmodel. Are un identificator, un nume, o descriere și o versiune și conține elementele și relațiile dintre ele. Planșa modelului arată elementele și relațiile pe o suprafață de desen; se salvează în același fișier, separat de model, astfel încât sensul modelului nu depinde de felul în care este desenat.

Un proiect reunește de obicei mai multe modele, în fișiere separate. Exemplul „Family support benefit” are trei: modelul principal, benefits.pfmodel, o vedere tehnică și o vedere de continuitate.

Elementul, stratul și familia

Un element (Element) descrie un lucru concret din arhitectură: o politică publică, un serviciu public, un set de date sau un nod. Tipul elementului îi fixează stratul, familia, câmpurile proprii și relațiile permise. Toate elementele au câmpuri comune: identificatorul, numele, descrierea, documentația, etichetele și proprietățile; validarea cere ca fiecare element să aibă identificator și nume.

Stratul arată la ce întrebare a arhitecturii răspunde un element. Familia arată ce fel de lucru este elementul, indiferent de strat. De exemplu, un canal de acces la serviciu (ServiceChannel) din ORG și un API din APP sunt amândouă din familia acces. Limbajul are 11 familii, iar multe reguli ale relațiilor depind de ele.

FamiliaCe reuneșteExemple de tipuri
structură (structure)Participanți, resurse și părți structuralePublicOrganisation, Role, SoftwareSystem, Node
serviciu (service)Ce se oferă unui beneficiarPublicService, Capability, ManagedService
comportament (behaviour)Activitatea desfășuratăProcedure, Pipeline, Deployment
acces (access)Puncte de acces și limiteServiceChannel, API, Endpoint
informație (information)Sensul, structura și dovezile informațieiInformationEntity, Dataset, LegalResource
depozit (store)Locurile în care se păstrează datele sau codulDataStore, SourceRepository, StorageResource
eveniment (event)Ce se întâmplă și pornește o activitateLifeEvent, Incident, Milestone
intenție (intent)Direcția, rezultatele și condițiile urmăritePolicy, Goal, Requirement, Risk
decizie (decision)Alegerile și regulile de decizieArchitectureDecision, DecisionRule
schimbare (change)Schimbarea arhitecturiiProgramme, Project, ArchitectureState
loc (location)Locurile, ariile și contexteleDataCentre, Environment, GeographicArea

Relația și proprietatea

O relație (Relationship) leagă un element sursă de un element țintă și are un tip, unul dintre cele 21 ale limbajului. Are identificator propriu și, opțional, un nume; sursa și ținta sunt obligatorii. Trei câmpuri opționale au sens fiecare pentru un singur tip: modul de acces pentru access, semnul influenței pentru influence și ordinea de restabilire pentru restoresAfter.

O proprietate (Property) este o pereche cheie-valoare liberă, atașată unui element sau unui instrument. Ea păstrează o informație pe care tipul nu o prevede, de exemplu un cod dintr-un registru intern; sensul cheilor îl stabilește organizația care întreține modelul.

Planșele de detaliu, instrumentele și referințele

Un element are, la nevoie, una sau mai multe planșe de detaliu, care descriu interiorul lui. Pe lângă elemente, planșele conțin instrumente, care servesc notării sau descrierii unui flux de lucru și nu sunt elemente de arhitectură. Cinci instrumente sunt generale: adnotarea de text, grupul, regiunea, orizontul de timp și elementul de referință. Celelalte urmează notația BPMN și se folosesc doar pe planșele de detaliu ale elementelor din ORG, APP și CNT.

Elementul de referință (ReferenceElement) arată pe o planșă un element care există deja, de obicei în alt model, fără să îl copieze. Păstrează fișierul și identificatorul țintei, precum și tipul și numele ei, astfel încât planșa rămâne lizibilă și când ținta nu este încărcată.

Identitatea

Relațiile, planșele și elementele de referință din alte modele găsesc un obiect după identificatorul lui. Aplicația formează identificatorul unui model sau al unui element din nume, iar pe cel al unei relații din tipul relației, și nu îl schimbă când numele se schimbă.

Ți-a fost utilă această pagină?