Specifikation och beskrivningsspråk

Specification and Description Language ( SDL ) är ett specifikationsspråk som är inriktat på entydig specifikation och beskrivning av beteendet hos reaktiva och distribuerade system .

Översikt

ITU -T har definierat SDL i rekommendationerna Z.100 till Z.106. SDL fokuserade ursprungligen på telekommunikationssystem; Från och med 2016 inkluderar dess nuvarande användningsområden processkontroll och realtidsapplikationer i allmänhet. På grund av sin natur kan den användas för att representera simuleringssystem utan tvetydighet och med en grafisk notation.

Specifikations- och beskrivningsspråket tillhandahåller både en grafisk grafisk representation (SDL/GR) såväl som en textuell frasrepresentation (SDL/PR), som båda är likvärdiga representationer av samma underliggande semantik. Modeller visas vanligtvis i den grafiska SDL/GR-formen, och SDL/PR används främst för att utbyta modeller mellan verktyg. Ett system specificeras som en uppsättning sammankopplade abstrakta maskiner som är förlängningar av finita tillståndsmaskiner ( FSM).

Språket är formellt komplett , så det kan användas för kodgenerering för antingen simulering eller slutmål.

Specifikations- och beskrivningsspråket täcker fem huvudaspekter: struktur, kommunikation, beteende, data och arv. Komponenternas beteende förklaras genom att dela upp systemet i en serie hierarkier. Kommunikation mellan komponenterna sker genom grindar förbundna med kanaler. Kanalerna är av fördröjd kanaltyp, så kommunikationen är vanligtvis asynkron, men när fördröjningen är inställd på noll (det vill säga ingen fördröjning) blir kommunikationen synkron.

Den första versionen av språket släpptes 1976 med hjälp av grafisk syntax (SDL-76). Detta reviderades 1980 med lite rudimentär semantik (SDL-80). Semantiken förfinades 1984 (SDL-84), textformen infördes för maskinell bearbetning och data introducerades. 1988 släpptes SDL-88 med en formell grund för språket: en abstrakt grammatik såväl som en konkret grammatik och en fullständig formell definition. Den version som släpptes 1992 (SDL-92) introducerade objektorienterade koncept som arv, abstrakta generiska typer etc., med de objektorienterade egenskaperna som beskrivs av transformationer till icke-objektorienterade. SDL-2010 är den senaste versionen, en uppdaterad version av SDL-2000 som helt baserades på objektorientering snarare än beskrivning av transformationer. Denna version åtföljs av en UML -Profil: ITU-T Recommendation Z.109 (04/12), SDL-2010 kombinerat med UML. SDL-2010 introducerade också stödet för C-datatyper som ursprungligen introducerades av SDL-RT.

Organisation

Hierarki nivå

Hierarkinivån för SDL är strukturerad enligt följande.

  • Bibliotekspaket
  • Systemagent
  • Blockagent
  • Processagent
  • Typ av förfarande
  • Fjärrprocedur

Arkitektur

Ett SDL-system är gjort av funktionsblock och varje block kan sönderdelas ytterligare i underblock. Blocket på den lägsta nivån är sammansatt av en process eller flera processer som beskrivs som finita tillståndsmaskiner.

SdlArchitecture.JPG

Kommunikation

Block är anslutna via kanaler som bär meddelanden (eller signaler) som utbyts mellan blocken. Ett blockagent består av processagenter.

SdlChannels.png

Beteende

Varje processagent är en tillståndsmaskin som bidrar till den åtgärd som utförs av systemet. En meddelandestimulans som kommer från omgivningen eller från en annan agent till en agent kallas en signal. Signaler som tas emot av en processagent placeras först i en kö (ingångsporten). När tillståndsmaskinen väntar i ett tillstånd, om den första signalen i ingångsporten är aktiverad för det tillståndet, startar den en övergång som leder till ett annat tillstånd. Övergångar kan mata ut signaler till andra agenter eller till miljön. En processagent tillåts innehålla procedurtyper så att samma åtgärder kan anropas från olika platser. Det är också tillåtet att anropa en fjärrprocedurtyp för att anropa en procedur i en annan agent (eller till och med ett annat system) och vänta på svar.

SdlStateMachine.png

I det här exemplet är MyVariable av typen INTEGER och är den enda variabeln i processen. Den första övergången är startövergången som initierar den lokala variabeln. Ett meddelande om anslutningsbegäran conReq skickas, en 5 sekunders timer conReqTimer startas och tillståndsmaskinen går till anslutningstillståndet . I anslutningstillståndet om timern går av - det motsvarar ett meddelandemottagning - skickas anslutningsbegäran igen upp till 10 gånger. Om en anslutningsbekräftelse tas emot går tillståndsmaskinen till anslutet tillstånd. Detta är ett typiskt telekommunikationsprotokollscenario.

Tillgängliga symboler är:

SdlSymbols.jpg

Data

SDL abstrakta datatyper (ADT) stöder grundläggande datatyper som INTEGER, REAL, CHARSTRING samt strukturerade sådana som strukturer (STRUCT), uppräknade (LITERALS), konstanter (SYNONYMER). Syntax ser ut som den från Pascal, till exempel en uppgift skrivs ':='.

Varianter

  • SDL-RT är baserat på ITU Specification and Description Language som ersätter dataspråket med C. Senaste versionen av SDL-standarden (SDL'2010) inkluderar nu stöd för C-datatyper och syntax, vilket gör SDL-RT-grundprincipen till en del av den officiella standarden .
  • TNSDL är en variant utvecklad av Nokia för internt bruk.

Relaterade tekniker

  • MSC meddelandesekvensdiagram . En annan ITU-T-relaterad notation för att beskriva ett systems dynamiska beteende.
  • ASN.1 Abstrakt syntax Notation One. En ISO-standard för att beskriva datatyper som kan användas inom SDL.
  • TTCN-3 Testing and Test Control Notation version 3. Ett testspråk standardiserat av ITU-T och skrivet av ETSI.
  • Unified Modeling Language En generisk modelleringsnotation. En profil har standardiserats utifrån SDL.

Se även

externa länkar