Specifikation og beskrivelsessprog

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. december 2014; checks kræver 5 redigeringer .

Specification and Description Language (SDL) er et specifikationssprog med formel semantik. Designet til at opnå en entydig beskrivelse af adfærden af ​​reaktive og distribuerede systemer. Udviklet og standardiseret af CCITT . Baseret på Enhanced Finite Machine Models ( ESFM  ) til at beskrive systemadfærd og abstrakte datatyper . Det er et blandet specifikationssprog, da det giver dig mulighed for at definere både den dynamiske del af systemet (proceskommunikation) og den statiske del (datatyper) [1] .

Oversigt

Sprogstandarden er defineret af CCITT (anbefaling Z.100 til Z.106). Sproget var oprindeligt fokuseret på telekommunikationssystemer, men nu omfatter dets omfang processtyring og generelt realtidsapplikationer.

SDL leverer både grafisk repræsentation (SDL/GR) og tekstsætningsrepræsentation (SDL/PR), som er fuldstændig ækvivalente semantiske repræsentationer [1] . Modeller vises normalt i SDL/GR grafisk form, mens SDL/PR primært bruges til at udveksle modeller mellem hjælpeprogrammer. Et system er defineret som et sæt af indbyrdes forbundne abstrakte automater, der er udvidelser af endelige automater .


SDL dækker fem hovedaspekter: struktur, kommunikation, adfærd, data og arv. Komponenternes adfærd forklares ved opdelingen af ​​systemet i hierarkiske niveauer. Kommunikation mellem komponenter sker ved hjælp af porte (gates) forbundet med kanaler (kanaler). Disse kanaler har en vis latenstid, så kommunikation er normalt asynkron; indstilling af forsinkelsen til nul gør den synkron.

Den første version af sproget blev udgivet i 1976 og brugte en grafisk syntaks (SDL-76). I 1980 blev den suppleret med elementær semantik (SDL-80). I 1984 blev semantikken forbedret (SDL-84) og en tekstformular til maskinbearbejdning blev også indført. I 1988 udkom SDL-88, som omfattede sprogets formelle grundlag: abstrakte og rigtige grammatikker samt en komplet formel definition. Den version, der blev udgivet i 1992 (SDL-92) introducerede objektorienterede begreber såsom arv, abstrakte basistyper osv., og transformationer blev beskrevet for objektorienterede funktioner for at bringe dem til standarden. SDL-2000 (oprindeligt udgivet i 1999) er den seneste version (juni 2012), der udelukkende er baseret på ideerne om objektorienteret programmering og ikke længere inkluderer deres reduktion til grundlæggende funktioner. Serviceopdateringer er blevet frigivet til denne version siden 1999, og CCITT Recommendation Z.109 (06/07) blev udviklet til den, hvor SDL-2000 er kombineret med UML .

Hierarkiniveauer

SDL inkluderer følgende hierarkiniveauer:

En systemagent består normalt af flere blokagenter. Blokagenter kommunikerer med hinanden gennem kommunikationskanaler. Et blokmiddel består af procesmidler (obligatorisk struktur i SDL-92; SDL-2000 er mere fleksibel). Hver procesagent er en tilstandsmaskine, der bidrager til den handling, som systemet udfører. Handlinger via beskeder fra runtime eller fra en agent til en anden kaldes signaler. Signaler modtaget af procesagenten sættes først i kø (inputport). Når tilstandsmaskinen går over til inaktiv tilstand, hvis det første signal ved indgangsporten er aktiveret for denne tilstand, går den over til en anden tilstand. Overgangen kan også udsende signaler til andre agenter eller til runtime. En procesagent har lov til at indeholde proceduretyper, så de samme handlinger kan kaldes fra forskellige steder. Det er også tilladt at kalde en fjernproceduretype for at kalde en procedure i en anden agent (eller endda et andet system) og vente på et svar.

SDL-værktøjer

De bedst kendte SDL-aktiverede modelleringsværktøjer er Telelogic Tau, PragmaDev RTDS, Askepot, Safire-SDL og ObjectGeode (ikke længere tilgængelig) [2] . PragmaDev RTDS understøtter både SDL og SDL-RT, som bruges til udvikling af realtidsapplikationer og indlejrede systemer. Der er også gratis applikationer, der understøtter SDL, såsom JADE, en Java-ramme til udvikling af specifikationer.

Se også

Noter

  1. 1 2 Habrias, Frappier, 2006 .
  2. SDL-værktøjer og MSC-værktøjer. . SDL-værktøjer og MSC-værktøjer. Hentet 8. november 2014. Arkiveret fra originalen 19. juni 2015.

Litteratur

Links