Főszerkesztő: H O R V Á T H I M R E Szerkesztő: A N G Y A L LÁSZLÓ SZERKESZTŐBIZOTTSÁG BHG
ORION
T E R TA
Berecz Frigyes Bernhardt Richárd Eisler Péter Dr. Gosztony Géza Honti Ottó Klug Miklós Tölgyesi László
Jakubik Béla Baracs Sándor Csernoch János Froemel Károly Sass Károly Szabó Károly
Bánsághi Pál Baján Tibor Benedek Elek Bgerszegi Béla Hutter Mihály
BHG O R I O N TE RT A
MŰSZAKI KÖZLEMÉNYEK 1980
XXVI.|évfolyam
A QA96 programvezérlő rendszere Bevezetés A számítógépes vagy telefonos szakmai nevén tárolt programvezérlés m á r idestova 15 éve a modern te lefonközpontok egyik meghatározó jellemzője, b á r kisebb k a p a c i t á s ú berendezésekben (néhány száz vonalig) csak az elmúlt években nyert létjogosultsá got az L S I á r a m k ö r ö k elterjedésének eredményekép pen. A BHG-ban még a mikroprocesszorok hazai meg jelenése előtt elkezdődött a kis- és közepes kapacitású kvázielektronikus telefonközpontok fejlesztése, ami nek egyik részeredménye volt a speciális utasításkész lettel, egyébként egy mai átlagos 8 bites mikroszá mítógéppel összehasonlítható teljesítőképességgel rendelkéző vezérlőegység ( M A T 512) kifejlesztése. Ez a vezérlőegység irányítja a B H G első elektronikus al központjának, az elmúlt év óta sorozatban g y á r t o t t QA96-nak a működését. Az a l á b b i a k b a n a k ö z p o n t hívásfeldolgozó rendszeréről, a software felépítéséről lesz szó.
1. Általános jellemzők A real-time környezetben lejátszódó folyamatok ve zérlési feladatainak programozására kialakult mód szereket a h a g y o m á n y o s , szekvenciális programozás ban megszokottakkal szembeállítva a „real-time p r o g r a m o z á s " címszó alatt foglalják össze. B á r az elmúlt években jelentős eredmények születtek, az e m l í t e t t konvencionális programozás területén m á r jóideje elfogadott „ s t r u k t u r á l t programozás"-hoz fogható általános m ó d s z e r t a n a a real-time progra mozásnak még ma nincsen [3]. A ma rendelkezésre álló többé-kevésbé elfogadott módszerek valamilyen, a szóban forgó folyamatok leírására jól a l k a l m a z h a t ó logikai modellen alapszanak [4]. Kawashima híres cikke [1] óta ma a legtöbben a véges a u t o m a t á k a t választják a telefonközpontok működésének logikai modelljéül, és ezzel összhangban a vezérlési feladatok s t r u k t u r á l á s á r a a hívásosztás elvét (call division, szemben a time-division és a function-division elvé vel, lásd [2]-ben). Ezek alapján egy telefonközpont logikai működése általában a következőképpen ír h a t ó le: Híradástechnika
XXXI.
évfolyam 1980. 11. szám
11. szám
MAKAY ATTILA BHG
Egy telefonközpontban egyidejűleg sok egymástól független hívás megy végbe, melyek mindegyikét egy-egy véges automata jellemzi. Ezek a hívások p i l lanatnyi állapotait jellemző, jól definiált á l l a p o t o k a t vehetnek fel úgy, hogy az egyik állapotból a másikba külső jelek (legtöbbször a vonalakról kapott jelek) h a t á s á r a mennek á t . A jelek statisztikusán, minden belső eseményhez képest aszinkron m ó d o n lépnek fel, és a jelzések közötti időben az illető h í v á s t „ h o r dozó" automata stabil állapotban van (általában nem végez tevékenységet). A jelzések h a t á s á r a bekö vetkező á l l a p o t á t m e n e t t e l e g y ü t t j á r a k ö z p o n t b a n valamilyen m e g h a t á r o z o t t tevékenység, akció. Az a u t o m a t á k egy állapotát ismert m ó d o n úgy jellemez hetjük, hogy megadjuk, milyen külső jelre (BE) milyen állapotba megy át, ezen á t m e n e t közben m i lyen tevékenységet (T) végez és esetleg milyen újabb, m á s által érzékelendő kimenő jeleket ( K I ) állít elő. Ezek grafikus ábrázolására, speciálisan a telefono sok igényeit figyelembe véve a CCITT dolgozott k i egyszerű módszert [5], az állapotátmeneti diagramok elvére épülő grafikus nyelvet, az SDL-t. (Specification and Description Language.) Ennek általános formája az 1. ábrán l á t h a t ó . A tényleges realizálásnál az „ e g y hívás — egy automata" modell fő problémája a k o n k r é t álla potok igen nagy száma, valamint a sok parallel fo-
>
>
Be,
Be
2
I
T2
KI,
(
y
K
) CZO
Ben
Tn
Kin
>
\ B116-1
1. ábra. Állapotátmenet leírása SDL nyelven
421
lyamat működtetéséhez szükséges „operációs rend szerrel" való e g y ü t t m ű k ö d é s leírása. Ez utóbbi fel oldására a telefonközpont funkcióínak leírása céljá ból a hívás a u t o m a t á k mellé egyéb a u t o m a t á k a t is bevezetnek [4] és így a hívások lebonyolítását t ö b b automata együttműködésével írják le (ilyen automata írhatja le m a g á t az operációs rendszert, de más közös „funkciót" is, mint pl. a linkkeresés vagy kapcsoló fokozat működtetése stb.). A C C I T T - S D L egyik fő erénye, hogy le tudja írni a különböző funkcionális blokkok (folyamatok) e g y ü t t m ű k ö d é s é t , jelzések adá sának és vételének formájában, ahol egyébként a je lek természete nincs m e g h a t á r o z v a . Az állapotok s z á m á n a k csökkentésére ugyancsak a l k a l m a z h a t ó a fenti elv, amennyiben az a u t o m a t á n belül funkcionális osztást hajtunk végre és így egy azon hívást önmagában is t ö b b automata e g y ü t t m ű ködésével írjuk le. Ez azt jelenti, hogy a hívás osztá son belül funkció osztást is végzünk. Egy hívásnak lehet külön regiszter, összekötő stb. funkciókat leíró automatája. A számítógépes realizáció á l t a l á b a n h ű e n követi a fentieket. Minden keletkező híváshoz egy jobot ren delünk, mely a hívás végén fejezi be tevékenységét. A rendszeren belül egyidejűleg sok job lehet a k t í v , melyek egymástól függetlenül különböző állapotokban lehetnek. A jobok a p r o g r a m t á r a t közösen használják (minden hívást ugyanaz az absztrakt automata írja le), csak a saját (a h í v á s t jellemző) pillanatnyi ada taik számára kell külön, m á s job által hozzá nem férhető operatív memóriarészt biztosítani. í g y a ren delkezésre álló m e m ó r i a elvileg megszabja, hogy egyidejűleg h á n y job lehet a k t í v , azaz h á n y parallel hívást tud a rendszer feldolgozni. Az élőbbiekben em lített funkció-osztást a k o n k r é t megoldások során úgy realizáljuk, hogy az egy jobhoz t a r t o z ó operatív memóriarészt t ö b b , funkcionálisan elkülöníthető részre osztva ezekhez külön a u t o m a t á k a t (állapoto kat) rendelünk. 2. A QA96 hívásfeldolgozó a u t o m a t á i A QA96-ban a hívások pillanatnyi állapotát jellemző adatokat k é t jól elkülöníthető csoportban tároljuk. Az egyes vonalak, ívpontok (mellékállomás, t r u n k , kezelő) n é h á n y jellemző á l l a p o t á n a k tárolására szol gáló, az illető ívpontokhoz fixen hozzárendelt tároló elemek képezik az egyik, és a vonalakhoz a hívás ide jére hozzárendelhető memóriaterületekből (hívástá rak) összeálló közös memória képezi a másik csopor tot. Az előbbi, a vonali „erőforrások" á l l a p o t á t m e neteit a vonali-automata, a másik erőforrás, a hívás t á r m ű k ö d é s é t nagyrészt a h í v á s a u t o m a t a írja le, m i n t ahogy azt az alább közölt SDL diagramokon láthatjuk. A hívások lebonyolításában t e h á t az e m l í t e t t k é t erőforrás vesz részt, melyeket a hívás idejére egy másra m u t a t ó pointerek rendelnek össze. A hívás során a k ö z t ü k levő k é t i r á n y ú logikai kapcsolat a k ö z p o n t belső jelzésrendszerén keresztül jön létre. A jelzések az átvitel i r á n y á n a k megfelelően a bemutatott diag ramokon mint kimeneti, i l l . bemeneti jelzések sze repelnek. Az SDL nyelv t o v á b b i szabályai szerint sze repelnek belső jelzések is (többnyire időzítések), me-
422
(SZABAD )
V Hurok /záródik n
\ /
Hivás érkezik
Szabad
Hivás indul
\ /
1
—f
(
(_SZABAD ~)
/
1
VÁR
)
\ C s e n gelés ndul / '
aktív
i n d
-—r—" (FOGLALT ~)
\
Hurok
Számlál
|
y
X
\Hurok
1
Hívott \ jelentkezik/
\Földelóqombl
\
2
..-
Földelögom elengedve
|
1
(BLOKKOLT )
(FOGLALT )
\
(SZABAD
)
Hurok
(SZABAD
)
[BjTéTJ]
2. ábra. A „vonali" automata
lyek az adott állapothoz rendelt és onnan i n d í t h a t ó tevékenységek eredményeképpen születnek. A vonali automata (2. ábra) feladata a vonali jelek feldolgozása és t o v á b b í t á s a a hívástár a u t o m a t á j a felé. A vonal szabad állapotát k é t esemény v á l t o z t a t ja meg: híváskezdeményezés (hurok záródik) vagy egy a vonal felé irányuló hívás (hívás érkezik). Híváskezdeményezéskor az első feladat egy szabad hívástár ( H T ) kijelölése, és a h í v á s a u t o m a t a indítása. A vonal F O G L A L T állapotba, vagyis definíció szerűen abba az állapotba, amikor a további vonali jelek feldolgozása indulhat, a hívástár aktivizálódása u t á n kerül, amit többek k ö z t az említett pointerek beállítása jellemez. E z u t á n a vonali automata a hu rokváltozások s z á m á t közvetíti a hívástárba, amiből kiértékelhető a b e t á r c s á z o t t számjegy, és a vonal állapota a változás u t á n (a számláló páros vagy p á r a t lan értéke). H a az első változás a h í v á s t á r aktivizálása u t á n a hurok 0 — 1 átmeneténél következik be, ak kor ez csak csengetéskor a h í v o t t jelentkezését jelent heti. A vonali automata a „ h í v á s i n d u l " jelzésben közli a hívó vonal adatait, melyek az ívpontra jellemzőek. E b b ő l , a k ö z p o n t á r a m k ö r e i t leíró „ a d a t b á z i s " (lásd 4. pont) segítségével a h í v á s t á r a u t o m a t á j a határozza meg a hívó t í p u s á t (mellékállomás, trunk, L B vonal, tie-line stb.) és ennek alapján az első állapotátme netet (3. ábra). Mellékállomás esetén az automata T - H A N G állapotba kerül, melyből az első h u r o k v á l t o zás vagy az első á l l a p o t á t m e n e t során i n d í t o t t T I időzítés lejárta mozdítja k i . A hurokváltozásokat köz vetítő jelzések vételekor i n d í t o t t T 2 időzítés az impulHíradástechnika
XXXI.
évfolyam 1980. 11. szám
zus-sorozat végének megállapítására, i l l . a b o n t á s késleltetésére szolgál. Az első számjegy vétele u t á n szükség van annak elemzésére.Tekintve, hogy számjegy analízisre a hívás feldolgozás során s z á m t a l a n m á s helyen is szükség van, célszerű ezt egy külön „ a u t o m a t á v a l " megva lósítani, mely az analízis eredményeit jelek formá j á b a n közli a h í v á s a u t o m a t á v a l (4. ábra). Progra mozók ilyenkor egyszerűen „eljáráshívásról" beszél nének. Valóban, ezt az SDL nyelven ilyen m ó d o n lehet ábrázolni. A QA96-ban realizált p r o g r a m s t r u k t ú r a mégis i n k á b b az „ a n a l í z i s - a u t o m a t a " megoldást tükrözi, te kintve, hogy a közvetlen eljáráshívást a futási idők korlátozása céljából k o m p l i k á l t a b b feladatok esetén nem alkalmaztuk. í g y az analízis-automata révén a számanalízissel és a h í v á s a u t o m a t a szóban forgó állapotaiban végzett kapcsolódó tevékenységekkel eltöltött futási idő nem egyszerre terheli a processzort, hanem időben elosztva. Ez a forgalmi csúcsok elvi selésére kedvezőbb helyzetet teremt. Ugyanezek vo natkoznak a linkkeresés a u t o m a t á j á r a is, ami való ságosabb automata, hiszen ennek legalább van k é t állapota, ami a feladat t o v á b b i osztásából a d ó d o t t (keresés és a kiválasztott linkek bejegyzése a link térképbe, lásd 5. ábra). Az idézett a u t o m a t á k kimenő jeleire a h í v á s a u t o m a t á k valamelyik V Á R állapotban v á r a k o z n a k (6. és 7. ábrák). H e l y i hívás esetén a kapcsolóút le-
speciális...
h e l y i számmező, •több számjegyes speciális
mellékállomás hívószáma
üres szám
További s z á m X /egyebei k é r /
(
Foglaltsági \ hang i n d u l /
Foglaltság vizsgálat
) c
4. ábra. Számjegyanalízis
C 1
S z a b a d - Í r t kere s é s t kér
Link k e r e s é s (6 fokozat) (SZABAD )
Összekötő á. k kiválasztása Lefoglalás indul
Felszabadi badit\ í h'i vottf_/ \ /
Foglaltságí\ hang indul /
C I Éjjeli kezelő számának tárolása
(MELLÉKRE VÁR)
efoglalás indul Linkek kiválasztása,lefoglalása Kapcsoló írt lefoglalva
C
3
\ /
| B 116-5"
5. ábra. Linkkeresés (TÁRCSÁZ) T1: T2-. T3. T7A1; A2i
(FO-HANG) (KEZELÓTHÍV") (KEZELŐRE VÁR)
regiszter időzítés ( ~ 15sec) bontás k é s l e l t e t é s ( ~ 0,2sec) f o g l a l t s á g i hang f é l p e r í ó d u s a ( ~ 0 , 3 s e c ) fővonali i d ő z í t é s ( ~ 4 0 s e c ) mellékállomás f e l s z a b a d u l á s á t j e l z ő akció k e z e l ő s z a b a d d á v á l á s á t jelző a k c i ó
IB116-3
3. ábra. Hívástár állapotátmenetei
Híradástechnika
XXXI.
évfolyam 1980. 11. szám
foglalása u t á n a h í v á s a u t o m a t a T 4 ideig t a r t ó z k o d i k az E L S Ő C S E N G E T É S (8. ábra) állapotában, majd a periodikus csengetést és csengetési hangot vezérlő ( i t t nem ábrázolt) belső akció indítása u t á n a CSEN GET állapotban várja meg a h í v o t t jelentkezését. Ekkor indul a kapcsolófokozatok m ű k ö d t e t é s é t vezárlő automata (9. ábra), melynek h á r o m állapota
423
(TÁRCSÁZ
(TÁRCSÁZ')
1
Jovöbbi szám jegyekéi ker
( VÁR 1 )
időt, viszont nagy előnye az egyszerűségen kívül, hogy az időzítések m a g á v a l a programhívások szá m á v a l m é r h e t ő k , ahol egy egység 100 ms-ot jelent. Ezt az „időosztási" elvet m á s erőforrásra nézve is alkalmaztuk (pl. a blokkolt vonalak felügyeletét végző program egy behívás alkalmával csak nyolc vonallal foglalkozik, így az elvileg lehetséges max. 512 = 8x64 vonallal 64x20=1280 ms alatt végez. Ez az az idő, ami alatt a k ö z p o n t egy blokkolt vonal felszabadulá sát regisztrálni köteles).
")
(SZABAD )
2
Kapcsoloüt lefoglalva
( FO-HANG)
XHÍvott • / szabad
\ Bontás / vége
Csengetés, hang kapcsolás Csengetés indul
\ /
Ti \ ndul/
Szabad-út \ keresést kér/ II T1. fi indul
Felszabadit/
\
/
A vonalak letapogatása vagyis állapotuk leolvasása, a m e m ó r i á b a n n y i l v á n t a r t o t t állapotukkal való össze vetése és a változásoknak megfelelő „ ü z e n e t e k " fel jegyzése a memória adott helyeire természetesen m i n den rendszer ciklusban megtörténik. Feldolgozásuk, vagyis az a u t o m a t á k állapotátmeneteinek végrehaj tása történik más-más időben, a feladat jellegétől füg gően. P l . a vonali automata „ s z á m l á l " jelzése a vo nali erőforráshoz rendelt hívástár adott rekeszében realizálódik, melyet a hívástár feldolgozó program, ha szükséges, 100 ms-onként értékel. Ugyanígy a többi letapogató program (billentyűs készülékek hangfrekvenciás vevői, kezelői billentyű zetek, szerviztáska billentyűzete) is 20 m s - o n k é n t
(TÁRCSÁZ ) (ELSŐCSENGEÜS)(FO-HANG) (^ TU, első c s e n g e t é s ideje (~0,4sec)
(VÁR2 )
| B116-61
6. ábra. Hívástár állapotátmenetei
2
^Kapcsolás sikeres
a hardware által megszabott, T6 idejű működési fá zisoknak ^ felel meg. A sikeres kapcsolást követi a B E S Z É D állapot (7. ábra). Végül a bontás k ü lönböző feladatait is külön automata végzi, melyek befejezése u t á n kerül sor a h í v á s t á r és a vonalak fel szabadítására, illetve a bontott fél felé a foglaltsági hang indítására.
2
Bontást kér
(BESZÉD )
\Számlál / { A vagy B)
I
^apcsolas sikertelen
(VÁR 2
\
/
Bontás vége
Felszabadif\ (A vagy B ) /
\ /
T1.T3
)
indul
\
/
T2
lejár
3. A programok szervezése A t á r g y a l t a u t o m a t á k á l l a p o t á t m e n e t e i t realizáló programokon kívül a különböző perifériák adatbevi teli (letapogató) és kiviteli programjai teszik teljessé a hívásfeldolgozó rendszert. A z ütemezésre a lehető legegyszerűbb módszert v á l a s z t o t t u k : a programo k a t prioritás szerint fixen egy t á b l á z a t b a rendeztük, és végrehajtásuk e szerint ciklikusan e g y m á s t követi ( „ r o u n d robin"). E z t a sorrendet csak az időmegszakítási rendszer bonthatja meg, a 20 ms-os ciklusidő leteltekor mindig a t á b l á z a t elejéről indul a feldolgo zás. A t á b l á z a t utolsó programja arról gondoskodik, hogy az e m l í t e t t 20 ms-os ciklusidőből még h á t r a l e v ő időt eltöltse. E szerint a lista programjai nagyjából ütemesen kerülnek behívásra, a futási időkből adódó pillanatnyi eltérések hosszabb i d ő t a r t a m r a nézve kiegyenlítődnek. A h í v á s t á r a k állapotmeneteit kezelő program szer vezése olyan, hogy egy adott h í v á s t á r r a l a központ 100 ms-onként foglalkozik, függetlenül attól, hogy az aktív-e vagy sem. A rendszer h á t r á n y a , hogy az inak t í v h í v á s t á r a k (vagyis amelyek éppen nincsenek „ á l l a p o t á t m e n e t i " fázisban) is vesznek el némi futási
424
(FO- HANG) (SZABAD )
(FO-HANG)
A . hivo fel B. hivott fél
(SZABAD fB
)
116-7
7. ábra. Hlvástár állapotátmenetei
Híradástechnika
XXXI.
évfolyam 1980. 11. szám
vesz m i n t á t a „ k ü l v i l á g b ó l " és állit elő „jelzéseket" a többi feldolgozó programnak. A feldolgozó progra mok egymásnak k ü l d ö t t jelzéseivel e g y ü t t ezek a jel zések adják az e m l í t e t t belső jelzésrendszer jelkészle t é t . A jelzések átvitele adott memóriacellák feltölté sével és lekérdezésével t ö r t é n i k .
(ELSÓ CSENGETÉS)
1
I
Számlál
T2
indul
/
lejár
— a kapcsolómező (linkbekötés) kiépítési adatai, — az á r a m k ö r ö k és azok hívószáma az í v p o n t o k (helyszám) szerint rendezve, — az á r a m k ö r ö k helyszáma hívószám szerint (4 db 100-as mező) rendezve, — a mellékállomási kategóriák hívószám szerint rendezve, — vonalnyalábokba tartozó, á r a m k ö r ö k , nyalá b o n k é n t felsorolva ( t r u n k ö k , P B X csoportok, egyéb á r a m k ö r ö k ) , — hívószámtranzláció t á b l á z a t a i , — az alközponti kezelőkre vonatkozó adatok stb. Mindezek az adott esetben egy 2 kbyte-os terüle ten helyezkednek el R E P R Ó M t á r o l ó k b a n rögzítve. A k ö z p o n t rendelésénél, a rendelésfelvételi adatlapok adatainak gépi rögzítése u t á n automatikus rendszer
> Csengetés,, hang lekapcsolása
A3-t
indítja
(CSENGET)
I
| \
^> Számlál
T2
indul
/
\ /
T2
\ /
lejár
Hivott jelentkezik
Kapcsolást kér
I
Működtető háló zat ellenőrzése
Számláló é r t é kelés.torlés i '-'"Számláló^ Tn
A3-at
_A3-at
leállítja
Csengetés, hang lekapcsolása
Csengetés, hang lekapcsolása
Bontást kér
(CSENGETÉS )
|Működtető pa rancs kiadása
leállítja
T6 indul
Kapcsolást kér
(_ VÁR!
)
(
VÁR 2
)
A3 Normál periodikus c s e n g e t é s t é s c s e n g e t é s i hangot elöallito akció.
[BTJ6 ~8] :
8. ábra. Hívástár állapotátmenetei
4. Az adatok szervezése Az adatok gondos s t r u k t u r á l á s a az a u t o m a t á k terve zésével egyenrangú, igen fontos feladat. Adatok alatt az eddig szereplő „erőforrásokat", valamint egy adott k ö z p o n t k o n k r é t kiépítését leíró,, a d a t b á z i s t " értjük. Ezek logikai szervezése, a m e m ó r i á b a n való olyan elrendezése, hogy az a feldolgozó programok számára egyszerű algoritmusok h a s z n á l a t á t tegye lehetővé, igen lényeges (pl. a futási idők alakulása szempontjá ból). Már a tervezés korai s t á d i u m á b a n t u d n i kell, hogy melyek azok az adatok, melyek lehetőleg direkt m ó d o n rendelkezésre kell álljanak, mert gyakran van rájuk szükség, és melyek a k i s z á m í t h a t ó a k . Sok szor érdemes r e d u n d a n c i á t alkalmazni, hiszen „ a m i t vesztünk a réven, megtérül a v á m o n " vagyis az egy szerűbb algoritmusok a p r o g r a m t á r méretének csök k e n t é s é t is jelentik, így a memóriaszükséglet végső soron változatlan maradhat. A Q A 9 6 adatbázisa lényegében a következő adato kat tartalmazza: Híradástechnika
XXXI.
évfolyam 1980. 11. szám
I
T6 lejár
Felépült ú t ellenőrzése
Összekötök beállítása T6 indul
/
\
no 9. ábra. Kapcsolóút működtetés
425
generálja az e m l í t e t t tokok programozásához szüksé ges lyukszalagot és minden szükséges d o k u m e n t á ciót. A h í v á s t á r a k k é t í v p o n t adatainak tárolására képe sek, m é r e t ü k e g y e n k é n t 31 byte. Ezek részben fix rendeltetésűek, adott funkciójuk van, mások az álla p o t o k t ó l függően többszörösen k i vannak használva. Az ívpontokhoz egyénileg hozzárendelt tárolók ívp o n t o n k é n t ~ 2 byte-ot tesznek k i . A különleges szolgáltatások (hívásátirányítás, r ö v i d í t e t t hívószá mok stb.) mintegy 2 kbyte-ot vesznek igénybe. A programrendszer működéséhez szükséges változó a d a t t á r mérete ~ 7 kbyte.
5. Eredmények, tapasztalatok A programozás assembly nyelven t ö r t é n t , a fordítást, listázást cross-assembler és szerkesztő segíti. A prog r a m t á r mérete 20 kbyte-ra a d ó d o t t . A programok a fejlesztés és az üzemi p r ó b á k során igen sokat változ tak, a jelenleg „ g y á r t o t t " program ( R E P R Ó M , i l l . P R O M v á l t o z a t b a n ) az elsőnek kibocsátott rendszer teljesen átdolgozott változata, és az újabb és újabb üzembe állítások még ma is szolgáltatnak „meglepe t é s e k e t " (az anyag írásakor mintegy 10 000 vonal QA96 g y á r t á s a fejeződött be). A legtöbb problé ma a kezelő-készlet billentyűzetének „ a b n o r m á l i s " h a s z n á l a t á b ó l a d ó d o t t . Á l t a l á b a n a „ n e m beterve zett" eseményekkel, tranziensekkel van a baj, amit csak igen gondos tervezéssel lehet megelőzni és hosszú kimerítő teszt kell, hogy megelőzzön minden ú j a b b fejlesztési produktum vagy javítás tényleges üzembe állítását. A gondos tervezés, a tervezési módszerek állandó j a v í t á s á t is kell jelentse. Bebizonyosodott, hogy az előkészítő tervezési fázisban (rendszeranalízis, speci fikációk) jóval t ö b b idő és energia befektetése szük séges, mint h i t t ü k , az ebben a szakaszban e l k ö v e t e t t hiba sokkal nehezebben j a v í t h a t ó , mint p l . a kódolási h i b á k . K i kellett alakítani a specifikációk és rend szertervek készítésének gyakorlati módszereit, do k u m e n t á l á s i formáit. Például az SDL nyelvet, mint tervezési segédeszközt a QA96 tervezésénél még nem h a s z n á l t u k , a bemutatott á b r á k utólag születtek.
426
Real-time rendszerek tervezésénél igen lényeges, hogy még a tervezés korai s t á d i u m á b a n becsülni t u d j u k a software forgalmi terhelhetőségét. Ehhez ob j e k t í v módszerek is szükségesek, és esetünkben a számítógépes szimuláció adott egy ilyen módszert. A tervezett software v á z á t vagyis az egyes programok strukturális összefüggéseit, a belső jelzésrendszert k é p e z t ü k le, a jelzések h a t á s á r a végzendő tevékenysége ket az ahhoz szükséges rutinok becsült futási idejé vel „ h e l y e t t e s í t e t t ü k " . Ezt az absztrakt rendszert a külső jeleknek egy másik program által keltett mes terséges „forgalmával" hajtottuk meg, és értékeltük ennek különböző intenzitása mellett a fellépő válasz időket, várakozási sorok hosszát, foglalt erőforrások s z á m á t stb. A vizsgálat módszerei külön cikket érde melnek, i t t csak annyit említünk, hogy a rendszert a QA96 software tervezésénél m á r használtuk, és az utólagos ellenőrzés a software forgalmi teherbíró ké pességét a tényleges adatok b i r t o k á b a n is megfelelő nek t a l á l t a . E z t egyébként az eddigi installációk is alátámasztják.
Köszön eín y ilv án ítás Szeretnék köszönetet mondani minden m u n k a t á r samnak, akik a m u n k á b a n résztvettek és értékes ta nácsaikkal, ötleteikkel és nem utolsó sorban k i t a r t á sukkal a munka sikerét biztosították. Ugyancsak k ö szönetet mondok a B H G Fejlesztési Intézet vezetői nek t á m o g a t á s á é r t . IRODALOM [1] Kawashima, H.: Functional specification of call processing by state-transition diagram. I E E E Trans. 1971. GOM—19 p. 581—587. [2] M. T. Hills, S. Kano: Programming electronic switching systems. 1976. Published by Péter Peregrinus Ltd. [3] Dacker, I. Jacobson: Real time system design using C H I L L . Gonference Publications, I E E Software Engineering for Telecommunicatíon Switching Systems, 1978. Helsinki. [4] R. T. Boute: Logical models for computer control of te lephoné exchanges. Conferenee Publications, I E E Software Engineering for Telecommunicatíon Switching Systems, 1978. Helsinki. [5] CCITT ajánlások; Orange Book, Vol. VI/4 Z101—Z104.
Híradástechnika
XXXI.
évfolyam 1980. 11. szám