Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 99.51 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. Notasi Speci cation and Description Language (SDL)
  12. Irfan Maulana, Ikrar Bakti, Kevinsy Joshua, Reza Yudhistira February 17, 2020
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Contents
  20. I Introduction 7
  21. 1 De nisi 7
  22. 2 Manfaat Bahasa Spesi kasi 8
  23. 3 Sejarah 9
  24. 4 Kebutuhan 12
  25. 5 Konsep 16
  26. 6 Bahasa 19
  27. 7 Describing Structure 22
  28. 7.1 System level 22
  29. 7.2 Block level 23
  30. 8 Perilaku 27
  31. 8.1 Mesin SDL 27
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. 8.2 Diagram Proses 29
  39. 8.3 Diagram sistem 30
  40. 8.4 Diagram Blok 35
  41. 8.5 Diagram Proses 38
  42. 9 SDL dan Bahasa lain 46
  43. 10 Karakteristik SDL 48
  44. 11 Model dan Struktur Teoritis 51
  45. 11.1 Model Teoritis 51
  46. 11.1.1 Structure 52
  47. 11.1.2 Struktur Statis dan Dinamis 54
  48. 11.1.3 Communication 54
  49. 11.1.4 Behavior 56
  50. 11.1.5 Data 57
  51. 12 Cara Menggunakan ADT Lanjutan 59
  52. 12.1 Inheritance 60
  53. 13 Sharing Information, Reuse, and Maintenance 61
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60. 13.1 Sharing Information Packages 61
  61. 13.2 Reuse and Maintenance (Specialized Inheritance
  62. and Polymorphism) 62
  63. 14 Keterbukaan, Portabilitas, Skalabilitas, dan Ap-
  64. likasi Terdistribusi 63
  65. 14.1 Keterbukaan 63
  66. 14.2 Portabilitas dan Skalabilitas 63
  67. 14.3 Aplikasi Terdistribusi 64
  68. 15 Graphical dan Textual Notations dan Application Areas 65
  69. 15.1 Graphical dan Textual Notations 65
  70. 15.2 Application Areas 65
  71. 15.3 Application Area 66
  72. 16 Keuntungan Bahasa Spesi kasi 67
  73. 17 Language Overview 71
  74. II Teori 81
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. 18 Ruang Lingkup Notasi 81
  82. 18.1 Objective 82
  83. 18.2 Application 83
  84. 18.3 System speci cation 85
  85. 18.4 Perbedaan antara SDL-88 dan SDL-92 86
  86. 18.5 Perbedaan antara SDL-92 dan SDL-2000 91
  87. 19 Cara Menggambar 95
  88. 19.1 Conventions 95
  89. 19.2 Tata bahasa SDL 95
  90. 19.3 Aturan Menggambar 96
  91. 19.4 Partisi gambar 98
  92. 19.5 Operasi 100
  93. III OpenGEODE, an SDL Editor for TASTE 108
  94. 20 OpenGEODE 108
  95. 21 Fitur OpenGEODE 109
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. 21.1 Pembatasan SDL 111
  103. 22 Mengapa SDL dan OpenGEODE ? 114
  104. IV PENUTUP 115
  105.  
  106.  
  107.  
  108.  
  109.  
  110. Part I
  111.  
  112. Introduction
  113.  
  114. 1 De nisi
  115.  
  116. Speci cation and description language (SDL) adalah bahasa formal berorientasi objek yang dide nisikan oleh International Telecommunications Union - Sektor Standardisasi Telekomu- nikasi (ITU T) (sebelumnya Comité Consultatif International Telegraphique et Telephonique [CCITT]) sebagai rekomendasi
  117. Z.100. Bahasa ini dimaksudkan untuk spesi kasi aplikasi yang kompleks, didorong oleh peristiwa, waktu-nyata, dan interaktif yang melibatkan banyak aktivitas bersamaan yang berkomu- nikasi menggunakan sinyal diskrit.
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. 2 Manfaat Bahasa Spesi kasi
  126.  
  127. Secara luas diterima bahwa kunci untuk berhasil mengembangkan suatu sistem adalah untuk menghasilkan spesi kasi dan desain sistem yang menyeluruh. Tugas ini membutuhkan bahasa spe- si kasi yang sesuai, memenuhi kebutuhan berikut:
  128. ˆ Serangkaian konsep yang terde nisi dengan baik
  129. ˆ Spesi kasi yang tidak ambigu, jelas, tepat, dan ringkas
  130. ˆ Dasar yang menyeluruh dan akurat untuk menganalisis spesi kasi
  131.  
  132. ˆ Dasar untuk menentukan apakah suatu implementasi sesuai dengan spesi kasi atau tidak
  133.  
  134. ˆ Dasar untuk menentukan konsistensi spesi kasi
  135. ˆ Dukungan komputer untuk menghasilkan aplikasi tanpa perlu fase pengkodean tradisional
  136.  
  137. SDL telah dide nisikan untuk memenuhi tuntutan ini. Ini adalah bahasa spesi kasi gra s yang formal dan berorientasi objek. Ba- hasa ini mampu menggambarkan struktur, perilaku, dan data
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145. sistem komunikasi waktu-nyata dan terdistribusi dengan ketelitian matematika yang menghilangkan ambiguitas dan menjamin in-
  146. tegritas sistem. Ini memiliki sintaksis gra s yang sangat in- tuitif. Bahkan non-konstruktor dengan cepat memperoleh tin- jauan umum tentang struktur dan perilaku sistem. Karakter- istik terpenting SDL adalah formalitasnya. Semantik di balik setiap simbol dan konsep dide nisikan secara tepat. Di atas segalanya, kekuatan besar SDL terletak dalam menggambarkan sistem real-time yang besar.
  147.  
  148.  
  149. 3 Sejarah
  150.  
  151. Pengembangan SDL dimulai pada tahun 1972. Kelompok be- lajar 15 anggota dalam CCITT yang mewakili beberapa ne- gara dan perusahaan telekomunikasi besar seperti Bellcore, Er- icsson, dan Motorola memulai penelitian tentang bahasa spesi-
  152. kasi standar untuk industri telekomunikasi. Versi bahasa yang pertama dikeluarkan pada tahun 1976, diikuti oleh versi-versi baru pada tahun 1980, 1984, 1988, 1992, dan 1996. Versi-
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160. versi terbaru memperluas bahasa secara luas dan antarmuka yang disederhanakan. Hari ini SDL adalah bahasa yang lengkap dalam segala hal.
  161. Bahasa Spesi kasi dan Deskripsi adalah bahasa untuk spesi-
  162. kasi dan deskripsi sistem yang telah dikembangkan dan distan- darisasi oleh ITU-T, sektor standar Telekomunikasi dari Inter- national Telecommunication Union (ITU). Bagian ITU-T dari ITU sebelumnya dikenal sebagai CCITT (International Tele- graph and Committee Consultative Committee).
  163. Catatan: Tidak ada perbedaan yang dibuat dalam Bahasa Spesi kasi dan Deskripsi antara istilah spesi kasi dan deskripsi, meskipun mereka umumnya memiliki arti yang berbeda ketika menggunakan bahasa dalam aplikasi. Hal yang sama berlaku untuk tutorial ini, tetapi untuk singkatnya itu hanya disebut bahasa spesi kasi.
  164. Pengembangan Bahasa Spesi kasi dan Deskripsi dimulai pada tahun 1972 setelah periode penyelidikan. Versi pertama ba- hasa ini dikeluarkan tahun 1976, diikuti oleh versi baru pada tahun 1980, 1984 dan 1988. Versi tahun 1984 dan 1988 berisi
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172. ekspansi bahasa yang cukup besar, yang dianggap telah menca- pai kematangan sedemikian rupa sehingga pengembangan lebih lanjut tidak menarik sampai SDL-92. Versi SDL-92 lebih beror- ientasi objek dengan de nisi TYPE (mirip dengan kelas UML) yang dapat digunakan untuk instance proses dan instance data (misalnya). Namun, konstruk TYPE ini sebenarnya merupakan templat yang memetakan ke konstruk SDL-88, sehingga SDL- 92 selalu dapat diratakan menjadi SDL-88 dan SDL-88 adalah subset dari SDL-92. Dalam SDL-2000 tur TYPE dibuat men- jadi komponen dasar bahasa, tetapi dari sudut pandang peng- guna dengan semantik yang sama dengan SDL-92. Oleh karena itu (dengan beberapa pengecualian) SDL-88 masih dapat digu- nakan dengan alat yang mendukung SDL-92 dan / atau SDL- 2000.
  173. Versi awal SDL telah digunakan untuk waktu yang lama sebelum tahun 1988. Pengalaman dari penggunaan ini telah berkontribusi pada peningkatan bahasa. Sebuah survei di Fo- rum SDL 2 dan 3 pada tahun 1985 [2] dan 1987 [3] menunjukkan bahwa SDL digunakan oleh sekitar 5000 orang di seluruh dunia.
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181. SDL - tentu saja - juga digunakan oleh Kelompok Studi CCITT (sekarang ITU-T) dalam Rekomendasi mereka. Forum menun- jukkan bahwa kegiatan kontemporer untuk SDL berfokus pada pengembangan alat berbasis komputer untuk SDL-88. Selan- jutnya ada pengenalan versi ini di administrasi dan perusahaan industri dalam skala yang lebih besar. Pada tahun 1990, sudah ada alat SDL tersedia secara komersial untuk semua orang.
  182.  
  183.  
  184. 4 Kebutuhan
  185.  
  186. Bahasa Spesi kasi dan Deskripsi SDL dirancang untuk sistem yang:
  187. ˆ Reaktif;
  188. ˆ Bersamaan; ˆ Real-time;
  189. ˆ Didistribusikan; ˆ Heterogen.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197. Pengembangan SDL dimulai awal di era sistem switching Stored Program Control (SPC). Pada saat itu, pada akhir 1960-an
  198. - awal 1970-an, menjadi jelas bagi produsen dan administrasi telepon bahwa bahasa pemrograman maupun bahasa deskripsi perangkat keras tidak memberikan dasar untuk komunikasi yang jelas dan ringkas yang mereka butuhkan untuk berhasil mengem- bangkan dan mempertahankan generasi baru yang sangat sis- tem switching yang kompleks. Cukup adil untuk mengatakan bahwa tantangan yang dihadapi perkembangan itu sangat be- rat. Teknologi itu sendiri masih muda dan perlu dikembangkan sebagai bagian dari proyek. Aplikasi tersebut sangat kompleks, merepresentasikan beban lalu lintas yang padat dan permintaan waktu nyata, dan aplikasi tersebut harus terus beroperasi den- gan minimum malfungsi. Sistem switching adalah, dan mungkin masih, di antara sistem real-time paling kompleks yang ada. Menghadapi tantangan seperti itu, tidak mengherankan bahwa industri komunikasi menjadi pelopor dalam pengembangan ba- hasa dan metode teknik sistem. Juga tidak mengherankan bahwa bahasa yang dikembangkan untuk melayani kondisi sulit seperti
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206. itu, ternyata bermanfaat jauh melampaui industri telekomu- nikasi yang semula dimaksudkan.
  207. Masalah pertama untuk pengembangan SDL adalah untuk menyediakan cara yang lebih baik untuk menggambarkan peri- laku. Perilaku menjadi fokus karena:
  208. ˆ Perilaku sangat penting untuk tujuan dan kualitas sistem semacam ini;
  209.  
  210. ˆ Perilaku sulit untuk dideskripsikan dengan jelas karena sifatnya yang dinamis, tidak terlihat, dan sering tak ter-
  211. batas;
  212.  
  213. ˆ Perilaku seringkali sangat kompleks dan sulit untuk ditin- jau.
  214.  
  215. Cara yang lebih baik untuk menggambarkan perilaku masih di-
  216. anggap sangat diperlukan dari setiap upaya serius untuk meningkatkan sistem dan rekayasa perangkat lunak. "Lebih baik" ada di sini
  217. dibandingkan dengan program tradisional dan deskripsi perangkat keras dalam mendukung:
  218. ˆ Komunikasi dan pemahaman manusia;
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. ˆ Analisis formal dan perbandingan perilaku;
  227. ˆ Implementasi alternatif dan optimisasi desain.
  228. ˆ SDL dimaksudkan untuk digunakan dalam beberapa cara:
  229. ˆ Untuk standar internasional di bidang komunikasi: untuk mende nisikan standar yang tidak ambigu dan konsisten;
  230.  
  231. ˆ Untuk digunakan dalam tender: untuk menentukan peri- laku yang diperlukan dan membandingkan perilaku yang
  232. disediakan dari vendor yang berbeda;
  233.  
  234. ˆ Untuk digunakan dalam pengembangan sistem: untuk menen- tukan perilaku sistem yang diperlukan, untuk merancang
  235. dan menghasilkan implementasi yang optimal dan untuk mendokumentasikan perilaku yang disediakan;
  236. ˆ Untuk veri kasi dan validasi perilaku.
  237. Konsekuensinya, SDL harus sesuai untuk spesi kasi perilaku implementasi-independen serta untuk deskripsi perilaku yang sebenarnya dilaksanakan. Karenanya nama Spesi kasi dan Deskripsi Bahasa - SDL.
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245. Ringkasnya: sebuah bahasa dicari yang dapat dimengerti oleh manusia, cukup formal untuk mendukung analisis dan per-
  246. bandingan perilaku, implementasi independen, dan realistis dalam arti bahwa itu dapat secara memadai menggambarkan perilaku sistem nyata.
  247. SDL telah berkembang secara bertahap baik dalam cakupan dan formalitas. Rekomendasi pertama bahasa, muncul pada tahun 1976, berfokus pada perilaku berurutan, hanya mem- buat beberapa asumsi dasar tentang konkurensi. Kemudian, dalam rekomendasi 1984, notasi untuk komposisi arsitektur di- tambahkan. Akhirnya, pada tahun 1992, muncul gagasan kuat tentang jenis dan pewarisan yang menjadikan SDL bahasa beror- ientasi objek yang ditiup [5] - [9].
  248.  
  249.  
  250. 5 Konsep
  251.  
  252. Dalam setiap desain bahasa, asumsi tentang domain masalah harus dibuat dan dipetakan ke konsep bahasa. Kesesuaian un- tuk kelas masalah tertentu sangat ditentukan oleh kecocokan
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260. konseptual antara domain masalah dan bahasa.
  261. Dalam kasus SDL, domain masalahnya adalah perilaku reak- tif. Kebutuhannya adalah untuk mengatakan sesedikit mungkin tentang internal, konstruksi sik dari sistem, sambil menceri- takan kisah lengkap tentang bagaimana rangsangan eksternal dan tanggapan terkait di antarmuka. Pilihan konsep dasar jelas memposisikan SDL sebagai bahasa berbasis objek sejak awal. Juga sebagai bahasa konkuren dan formal berdasarkan komu- nikasi mesin negara yang terbatas. Konsep-konsepnya mungkin
  262. terlihat sangat sik pada awalnya. Melihat lebih dekat, bagaimana- pun, jelas bahwa mereka tidak terikat pada teknologi tertentu.
  263. Mereka tidak khusus untuk perangkat keras, atau perangkat lu- nak. Pada saat yang sama mereka tidak mengecualikan im- plementasi dalam perangkat keras maupun perangkat lunak. Bahkan, mereka memungkinkan banyak cara alternatif imple- mentasi memberikan kebebasan desainer untuk mengoptimalkan untuk persyaratan non-fungsional mengenai, misalnya, waktu respons dan beban lalu lintas. Pada saat yang sama teori yang mendasari mengkomunikasikan mesin negara menyediakan dasar
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271. yang kuat untuk analisis dan perbandingan serta abstraksi yang memungkinkan kita untuk menggambarkan perilaku kontrol den- gan jelas dan realistis.
  272. Keputusan penting adalah membuat asumsi yang sama ten- tang antarmuka internal dengan antarmuka eksternal. Tidak hanya memungkinkan kita kebebasan untuk menempatkan batas sistem di mana kita suka, itu juga memberi kita transparansi distribusi. Tidak ada asumsi bawaan tentang proses co-lokalisasi
  273. sik. Seseorang bebas untuk mendistribusikan proses sebagaimana yang dianggap sesuai dalam implementasi.
  274. Sistem yang kami tangani seringkali sangat kompleks dan terdiri dari subsistem yang mungkin saling berhubungan, di- gunakan kembali, dan dikon gurasikan dengan berbagai cara. Sebagai bahasa apa pun, SDL membutuhkan konsep untuk kom- posisi, generalisasi, dan penggunaan kembali. Ini adalah:
  275. komposisi:
  276.  
  277. ˆ Perilaku proses dari sub-urutan yang disebut prosedur; ˆ Blok dari proses dan rute sinyal;
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285. ˆ Sistem dan blok dari blok dan saluran; generalisasi dan penggunaan kembali:
  286.  
  287. ˆ Tipe konsep untuk sinyal, prosedur, data, layanan, proses, blok dan sistem;
  288.  
  289. ˆ Mende nisikan jenis baru berdasarkan (tunggal) warisan dari jenis lain;
  290.  
  291. ˆ Tipe pustaka sebagai paket.
  292.  
  293. 6 Bahasa
  294.  
  295. Konsep saja tidak membuat bahasa. Bentuk sintaksis juga diperlukan. Sepertinya tidak penting, bentuk sintaksis sangat penting bagi kegunaan praktisnya. SDL memiliki dua sintaks konkret:
  296. ˆ SDL / GR yang merupakan representasi gra k;
  297. ˆ SDL / PR yang merupakan representasi tekstual.
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305. Bentuk gra k lebih disukai oleh kebanyakan orang untuk spesi-
  306. kasi dan deskripsi kerja aktual, karena lebih intuitif dan menampilkan hubungan yang lebih jelas daripada bentuk tekstual. Fragmen
  307. dalam bentuk tekstual tertanam dalam bentuk gra k di mana teks lebih cocok, mis. untuk deklarasi data, deklarasi sinyal dan operasi.
  308. Bentuk tekstual terlihat sedikit seperti bahasa pemrogra- man. Ini memiliki keuntungan karena tidak memerlukan alat yang mahal, tetapi dapat diedit menggunakan prosesor teks bi- asa. Penggunaan dan tujuan utamanya adalah untuk berfungsi sebagai format pertukaran independen antar vendor. Dalam peran itu memiliki kelemahan bahwa informasi tata letak gra s hilang. Oleh karena itu bahasa pertukaran baru, CIF, saat ini sedang dikembangkan yang juga melayani informasi tata letak.
  309. SDL membuat pemisahan yang agak ketat antara struktur objek dan perilaku. Berlawanan dengan beberapa bahasa lain, suatu proses bukan hanya sepotong perilaku. Ini adalah objek dengan perilaku yang dide nisikan sepenuhnya yang hanya da- pat disusun secara paralel dengan objek lain untuk membentuk
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317. struktur objek dengan perilaku bersamaan.
  318. SDL berurusan dengan struktur dengan cara yang berbeda dari model objek dalam OMT [3], diagram hubungan entitas, atau diagram aliran data. Dalam SDL adalah mungkin untuk mengidenti kasi instance, dan menunjukkan struktur arsitek- tur suatu sistem dalam hal instances, banyak dengan cara yang sama seperti cetak biru untuk mesin atau rumah menunjukkan bagian-bagiannya. Fitur bahasa ini memungkinkan kami untuk memodelkan aspek-aspek distribusi dan interkoneksi struktural suatu sistem.
  319. Bahasa membuat perbedaan yang jelas antara jenis dan con- toh. Suatu tipe dapat dide nisikan secara terpisah, dan instance dapat dihasilkan dalam konteks banyak sistem. Kecuali diny- atakan lain, kami akan menggunakan kata "proses" untuk men- gartikan proses misalnya, dan menggunakan "tipe proses" untuk merujuk pada konsep. Demikian pula untuk sistem, blok, dan sinyal.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327. 7 Describing Structure
  328.  
  329. 7.1 System level
  330.  
  331. Dalam SDL, perilaku selalu dilakukan dalam konteks suatu sis- tem. Tidak masalah apakah itu perilaku sederhana yang terdiri dari satu proses tunggal, atau perilaku kompleks yang terdiri dari sejumlah besar proses yang diatur dalam hierarki blok. Titik awal selalu merupakan deskripsi tingkat atas dari suatu sistem. Mari kita mulai dengan deskripsi sistem. Luangkan sedikit waktu mempelajari Gambar 1 sebelum Anda membaca. Apakah Anda dapat memahami apa pun tentang sistem dari membaca deskripsi tingkat atas ini?
  332. Diagram sistem seperti ini, tidak memberi tahu kita banyak ketika dipelajari secara terpisah. Gambar 1 hanya memberitahu kita bahwa sistem khusus ini terdiri dari satu blok yang dise- but AccessControlUnit, satu set 100 blok serupa yang disebut ap dari tipe AccessPoint dan blok yang disebut op dari tipe OperationPoint.
  333. Blok (100) ap terhubung ke lingkungan melalui (100) saluran
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341. yang disebut Panel dan (100) saluran yang disebut Door, dan ke AccessControlUnit melalui (100) saluran yang disebut Validasi. Blok op terhubung ke lingkungan melalui saluran yang dise- but Terminal dan ke AccessControlUnit melalui saluran yang disebut Operasi. Sinyal yang dikirimkan ke setiap arah melalui saluran ditunjukkan oleh daftar sinyal yang dilampirkan pada panah pada saluran.
  342.  
  343. 7.2 Block level
  344.  
  345. Dengan menghadirkan level sistem, kami secara tidak langsung telah menunjukkan beberapa tur yang penting untuk men- gelola sistem yang kompleks:
  346. ˆ Dekomposisi top down. Kami sudah mulai mendekati de- tail sistem secara bertahap, dengan cara top down. Ini
  347. adalah cara yang baik untuk mencapai pemahaman ten- tang sistem yang ada, meskipun mungkin bukan cara itu dikembangkan.
  348. ˆ Komposisi bottom-up. Kami telah melihat bahwa sis-
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356. tem ini terdiri dari komponen yang ditentukan pengguna. Komponen-komponen ini dapat berupa entitas yang kom- pleks dan semena-mena.
  357. ˆ Jenis komponen yang dapat digunakan kembali. Kita telah melihat bahwa komponen dapat dide nisikan secara ter-
  358. pisah sebagai tipe, yang memungkinkan instance untuk dipakai banyak tempat dengan sedikit usaha.
  359. ˆ Ada dua perbedaan penting antara sistem dan blok:
  360. ˆ Blok hanya dapat terjadi sebagai komponen di dalam sis- tem dan blok.
  361.  
  362. ˆ Sistem tidak dapat terjadi sebagai komponen baik dalam sistem maupun dalam blok.
  363.  
  364. Oleh karena itu, sistem hanya terjadi di tingkat atas, sedangkan blok hanya terjadi di dalam. Blok adalah wadah seperti sistem. Mereka didekomposisi menjadi blok dan saluran secara rekur- sif pada tingkat sebanyak yang diinginkan sampai komponen dasar, proses, tercapai. Gambar 3 adalah contoh yang menun- jukkan diagram jenis blok untuk AccessPoint dan diagram blok
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372. untuk AccessControlUnit (kami tidak memberikan contoh blok yang diuraikan menjadi blok di sini). Dalam diagram contoh ini kami mende nisikan blok dalam hal proses yang dikandungnya. Sekali lagi, luangkan sedikit waktu untuk mencoba memahami diagram-diagram ini sebelum membaca.
  373. Dari diagram kita belajar bahwa setiap blok tipe Access- Point berisi proses yang disebut UserServer, proses yang disebut ds dari tipe DoorServer, dan satu atau dua proses yang disebut ps tipe PanelServer. Kami juga belajar bahwa PanelServer da- pat dibuat secara dinamis oleh UserServer. Perhatikan bahwa kita hanya perlu mende nisikan sinyal lokal di sini, karena yang dide nisikan pada level blok luar masih diketahui.
  374. AccessControlUnit berisi satu proses yang disebut Access- Control. Dalam SDL tidak diperbolehkan untuk mencampur blok dan proses dalam diagram yang sama, dan tidak diizinkan untuk memiliki proses pada level sistem, hanya pada level blok. Ini adalah salah satu alasan mengapa AccessControlUnit diwak- ili sebagai blok di tingkat sistem, meskipun hanya berisi satu proses.
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382. Nama-nama yang kami gunakan sejauh ini tampaknya me- nunjukkan bahwa kami berurusan dengan sistem di mana antar- muka pengguna akan terdiri dari panel dan pintu. Memang, ini adalah sistem untuk kontrol akses di gedung-gedung, di mana pengguna mengidenti kasi diri mereka menggunakan kartu den- gan strip magnetik dan nomor identi kasi pribadi (PIN). Na- mun, ini hanya makna informal. Secara formal, kami hanya mende nisikan beberapa proses, beberapa rute sinyal dan be- berapa sinyal. Hanya dengan melihat ke dalam perilaku proses, kita akan belajar dengan tepat bagaimana sistem berhubungan dengan lingkungannya.
  383. Perhatikan bahwa dekomposisi struktural suatu sistem men- jadi blok dan proses harus dilihat terutama sebagai dekomposisi logis yang dibuat untuk secara tepat mende nisikan perilaku abstrak sistem. Itu tidak perlu sesuai dengan dekomposisi sik dari sistem nyata. Ada banyak cara untuk memetakan sistem SDL menjadi implementasi konkret, dan beberapa di antaranya akan terstruktur sangat berbeda dari sistem SDL.
  384. Kesulitan yang diketahui saat menggambarkan perilaku reak-
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392. tif adalah apa yang disebut "ledakan negara" masalah. Dengan mendekomposisi sistem ke dalam proses bersamaan, yang se in- dependen mungkin, masalah ini sangat berkurang.
  393. Kami sekarang telah mengidenti kasi proses yang berperi- laku berurutan dan akan dapat menggambarkan perilaku mereka tanpa menghadapi ledakan negara. Meskipun sistem berisi ra- tusan utas perilaku independen, kami sekarang dapat berkon- sentrasi pada setiap utas secara terpisah. Kami semakin dekat dengan inti SDL sekarang.
  394.  
  395.  
  396. 8 Perilaku
  397.  
  398. 8.1 Mesin SDL
  399.  
  400. Proses SDL dideskripsikan sebagai extended Finite State Ma- chines, FSM. FSM sangat cocok untuk tujuan SDL karena memu- ngkinkan perilaku rangsangan-respons untuk dijelaskan dengan jelas, lengkap dan tidak ambigu dalam hal rangsangan ekster- nal dan tanggapan. Untuk alasan ini FSM banyak digunakan di berbagai bidang seperti desain perangkat keras, desain pro-
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408. tokol, desain kompiler dan metode rekayasa perangkat lunak. Ini telah mendapatkan popularitas luas, dan sekarang terma- suk dalam satu bentuk atau yang lain, dalam banyak metode rekayasa perangkat lunak. SDL adalah khusus dalam bentuk khusus FSM diperpanjang yang digunakannya, dalam de nisi formal dan dalam cara bersamaan FSM berkomunikasi dan da- pat dikomposisikan ke dalam sistem besar.
  409. Port input berisi antrian sinyal masuk yang tidak terbatas dan selalu siap untuk menerima sinyal baru. Sinyal yang tiba di proses segera dimasukkan ke port input, di mana tetap sam- pai dikonsumsi oleh FSM. Sinyal yang tiba pada suatu proses akan digabungkan ke dalam port input sesuai urutan kedatan- gannya. Jika dua sinyal tiba pada saat yang sama, kon ik diselesaikan dengan memilih urutan berurutan yang sewenang- wenang. Sinyal dari sumber independen dapat tiba dalam uru- tan apa pun. Mesin keadaan terbatas mengkonsumsi sinyal dari port input dalam urutan FIFO kecuali ketika pesanan di- modi kasi oleh operator penyelamat (lihat bagian berikutnya). Untuk setiap sinyal yang dikonsumsi, ia melakukan satu tran-
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417. sisi yang akan memakan waktu singkat tetapi tidak ditentukan. Karena bu ering sinyal di port input, dan dalam menunda salu- ran, komunikasi dalam SDL dikatakan asinkron.
  418. Sinyal adalah pesan tersendiri. Setiap sinyal memiliki nama yang digunakan FSM untuk memilih transisi. Selain itu sinyal membawa identitas pengirim dan kemungkinan data tambahan.
  419. FSM hanya akan mengkonsumsi sinyal ketika sedang dalam keadaan.
  420. Jika tidak ada sinyal di port input untuk dikonsumsi, itu akan tetap dalam status sampai sinyal dimasukkan dan dikonsumsi. Untuk setiap sinyal yang dikonsumsi, FSM melakukan transisi dari satu kondisi ke kondisi lainnya (atau ke kondisi yang sama). Pada setiap transisi mungkin menghasilkan sinyal output, itu dapat melakukan operasi pada variabel dan melakukan operasi timer. Perilaku transisi-negara FSM ini diekspresikan dalam diagram proses.
  421.  
  422. 8.2 Diagram Proses
  423.  
  424. Konten utama dari diagram proses adalah gra k proses. Ini menentukan dengan tepat bagaimana proses akan menanggapi
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432. setiap input yang mungkin di setiap negara yang memungkinkan. Untuk setiap negara, serangkaian transisi ditentukan. Untuk se- tiap transisi, sinyal input yang dapat memicu transisi ditentukan terlebih dahulu, kemudian urutan tindakan (mungkin kosong) ditentukan sebelum negara berikutnya dimasukkan.
  433.  
  434. 8.3 Diagram sistem
  435.  
  436. Frame Symbol
  437. Sistem itu sendiri diwakili oleh simbol bingkai yang mewakili batas sistem. Di luar bingkai adalah lingkungan, yang tidak di- jelaskan. Simbol bingkai yang sama digunakan dalam semua di- agram SDL yang berbeda untuk membatasi entitas yang dide n- isikan dari lingkungannya.
  438. Heading
  439. Di sudut kiri atas di dalam bingkai, kami menemukan tajuk. Ini terdiri dari teks yang dimulai dengan SISTEM kata kunci diikuti dengan nama sistem, di sini AccessControl. Judul ini juga merupakan tur umum dari semua diagram, tetapi kata kunci akan tergantung pada jenis entitas yang dide nisikan.
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447. Page numbers
  448. Di sudut kanan atas ada dua angka. Ini adalah nomor hala- man. Angka pertama adalah jumlah halaman saat ini, yaitu 1 untuk halaman pertama, dan nomor kedua adalah jumlah hala- man yang terdiri dari diagram ini, yaitu 2 halaman dalam hal ini. Diagram SDL mungkin secara umum, membutuhkan beber- apa halaman dan penomoran halaman selalu dilakukan dengan cara yang sama.
  449. Block interaction area
  450. Di dalam bingkai, kami menemukan tubuh sistem dide n- isikan dalam hal blok dan saluran. Ini juga mende nisikan salu- ran yang menghubungkan sistem ke lingkungan.
  451. ˆ Block symbols. Blok diwakili oleh simbol persegi pan- jang, masing-masing mewakili baik satu blok atau satu set
  452. blok yang sama. Isi simbol dapat mengambil tiga bentuk berbeda:
  453. i. Block reference. Ini hanyalah sebuah nama. Nama mengacu pada diagram blok terpisah yang berisi de nisi aktual dari blok. Ini selalu merupakan blok tunggal.
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461. ii. Typebased block de nition. Dalam hal ini, simbol berisi nama blok dan nama tipe blok yang dipisahkan oleh titik dua, dan jumlah instance opsional. Ini juga mengandung satu atau lebih nama gerbang. Jenis blok yang dimaksud dapat dide nisikan secara lokal, seperti halnya di sini, atau dalam unit lingkup sekitarnya. Karena tipe blok ditentukan secara independen dari bagaimana instance saling berhubungan, mereka memiliki gerbang ke saluran eksternal mana yang dapat dihubungkan.
  462. iii. Block diagram. Dimungkinkan untuk mende nisikan blok yang bersarang secara langsung di dalam simbol blok. Ini tidak ditunjukkan dalam contoh kami, dan tidak ter- lalu praktis untuk sistem yang lebih besar.
  463. ˆ Channel symbols. Satu-satunya cara untuk mengirimkan sinyal antar blok adalah melalui saluran. Saluran diwak-
  464. ili oleh garis-garis dengan panah yang menunjukkan arah aliran sinyal melalui saluran. Sinyal-sinyal saluran dil- ambangkan dengan daftar sinyal (dan signallists) dalam tanda kurung. Aliran dapat berupa uni-directional atau
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472. bi-directional. Ada dua jenis saluran:
  473.  
  474. i. Saluran tanpa penundaan. Dalam hal ini panah ditem- patkan di ujungnya.
  475. ii. Saluran dengan penundaan. Dalam hal ini panah tidak ditempatkan di ujung, tetapi di suatu tempat di sepan- jang garis. Saluran ini memiliki antrian FIFO implisit di setiap arah, dan dapat menunda sinyal untuk waktu yang sewenang-wenang.
  476. Kedua jenis saluran akan mengirimkan sinyal pada titik akhir tujuan dalam urutan yang sama ketika mereka dimasukkan ke dalam saluran. Jika dua sinyal disajikan secara bersamaan ke saluran, mereka akan dimasukkan ke dalam saluran secara acak. Saluran yang terhubung ke set blok akan benar-benar mewakili set instance saluran, sehingga sebenarnya ada 100 instance salu- ran Validasi dalam sistem kami. Setiap saluran (atau set salu- ran) harus memiliki nama, dan titik akhir saluran dilampirkan ke blok yang dihubungkan oleh saluran tersebut atau ke simbol bingkai jika saluran tersebut merupakan tautan ke lingkungan.
  477. Tipe area sistem.
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485. Di sini kita mende nisikan tipe blok, tipe proses, tipe layanan, dan prosedur yang bersifat lokal bagi sistem. Dimungkinkan un- tuk mende nisikan tipe baik secara langsung, atau dengan refer- ensi. Dalam Gambar 2 de nisi tipe untuk AccessPoint dan Op- erationPoint direferensikan menggunakan persegi panjang dua sisi yang berisi nama tipe. Tujuan dari simbol-simbol ini adalah untuk menunjukkan di mana de nisi tipe dilokalkan tanpa harus memberikan de nisi penuh pada saat itu.
  486. Simbol teks
  487. Simbol teks berisi deklarasi dan teks informal. Mereka tidak spesi k untuk diagram sistem, tetapi terjadi di semua jenis di- agram SDL. Dalam diagram sistem dan blok simbol teks akan berisi:
  488. ˆ Signal De nition. Dalam SDL perlu untuk mendeklarasikan semua sinyal sehingga mereka terlihat oleh proses yang
  489. menanganinya. Sinyal dideklarasikan di dalam simbol teks. Deklarasi memberikan nama sinyal dan jenis parameternya, jika ada.
  490. ˆ Signal list. Seringkali daftar sinyal yang terkait dengan
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498. saluran cukup komprehensif dan diagram menjadi ramai. Pemberi sinyal membantu memperbaiki hal ini. Signal- list adalah daftar sinyal yang telah diberi nama. Daftar ini juga dapat menyertakan sinyal penghitung waktu atau nama signallist lainnya. Jika signallist berisi signallist lain, nama signallist akan muncul dalam tanda kurung.
  499. ˆ Data de nition. De nisi tipe data lokal.
  500. ˆ Notes. Notes adalah teks penjelasan yang dianut oleh / *
  501. ... * /.
  502.  
  503.  
  504. 8.4 Diagram Blok
  505.  
  506. Block diagrams sangat mirip dengan diagram sistem. Ada sim- bol bingkai, area interaksi, area de nisi jenis dan simbol teks. Perbedaannya adalah sebagai berikut:
  507. ˆ Heading. Kata kunci tersebut adalah BLOCK atau BLOCK TYPE. Jika "tipe blok", nama dapat diikuti oleh param-
  508. eter konteks formal dan spesialisasi. Ini akan dijelaskan dalam makalah [1].
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516. ˆ Gate de nitions. Gates diidenti kasi dengan nama ger- bang dan simbol gerbang. Ini seperti simbol rute sinyal,
  517. tetapi dipasang di luar simbol frame. Gates dapat diband- ingkan dengan "colokan" peralatan rumah tangga. Mereka digunakan untuk "pasang" contoh dengan benar. Sig- nallist (opsional) membantu memastikan bahwa instance tipe blok terhubung dengan benar ke lingkungan mereka. Perhatikan bahwa gerbang hanya digunakan dengan tipe. Simbol di luar bingkai blok tunggal seperti AccessControl- Unit, mewakili saluran aktual yang terhubung ke blok itu.
  518. ˆ Block substructure area. Di sini tubuh blok dide nisikan dalam hal blok dan saluran dengan cara yang sama seperti
  519. tubuh diagram sistem. Alternatif ini tidak ditunjukkan dalam contoh kami, tetapi digunakan dalam kasus yang lebih kompleks di mana kita perlu menguraikan blok pada beberapa level sebelum mencapai proses. Blok berisi area interaksi proses (lihat di bawah) atau area substruktur. Mungkin juga mengandung keduanya, dalam hal ini mereka dianggap sebagai de nisi alternatif dari blok.
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527. ˆ Process interaction area. Di sini badan blok dide nisikan dalam hal proses dan rute sinyal. Rute sinyal persis seperti
  528. saluran tanpa penundaan. Mereka dide nisikan dengan cara yang sama dan berperilaku dengan cara yang sama. Simbol proses sedikit berbeda dari simbol blok, sehingga mudah untuk melihat bahwa itu adalah jenis entitas yang berbeda. Dengan cara yang sama seperti balok, proses muncul dalam tiga bentuk:
  529. i. Process reference. Ini adalah simbol proses yang berisi nama yang merujuk pada de nisi proses dalam diagram terpisah. Secara opsional dapat menentukan jumlah min- imum dan maksimum contoh, di mana jumlah minimum dibuat ketika sistem dibuat, dan sisanya dapat dibuat se- cara dinamis.
  530. ii. Typebased process de nition. Ini adalah simbol proses yang berisi nama proses dan nama tipe yang dipisahkan oleh titik dua, dan secara opsional serangkaian instance dengan cara yang sama seperti di atas.
  531. iii. Process diagram. Ini adalah diagram, yang mende n-
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539. isikan perilaku proses, langsung di area interaksi proses. Opsi ini hanya berguna untuk diagram yang sangat kecil dan tidak diilustrasikan di sini.
  540. ˆ Type in block area. Seperti dalam diagram sistem, ini adalah tempat untuk de nisi lokal tentang tipe blok, tipe
  541. proses, tipe layanan, dan prosedur.
  542.  
  543. ˆ Data de nitions. Tipe blok dapat berisi de nisi tipe data, tetapi tidak ada deklarasi variabel.
  544.  
  545.  
  546. 8.5 Diagram Proses
  547.  
  548. Diagram proses mengikuti prinsip-prinsip keseluruhan yang sama yang digunakan dalam semua diagram SDL: ada simbol frame dan heading. Di luar bingkai adalah gerbang, jika diagram mende nisikan jenis proses. Di dalam kami menemukan area yang mengandung gra k proses itu sendiri, kami menemukan simbol teks yang berisi deklarasi, dan kami menemukan (prose- dur) simbol referensi. Berikut ini adalah ringkasan singkat dari elemen-elemen utama yang khusus untuk memproses diagram.
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556. Tajuk Kata kunci adalah PROSES atau JENIS PROSES. Proses mungkin memiliki parameter. Ini adalah variabel lokal yang akan menerima nilai awal saat proses dibuat.
  557. Gra k proses
  558.  
  559. ˆ Start. Ada satu dan hanya satu simbol awal per diagram proses. Ini diikuti oleh transisi awal yang dipicu ketika
  560. proses dibuat.
  561.  
  562. ˆ State, sebelah negara bagian. Negara ditunjuk dengan nama negara. Simbol negara dengan nama yang sama
  563. mewakili negara yang sama.
  564.  
  565. ˆ Input. Simbol input menentukan nama sinyal dan juga untuk variabel lokal mana parameter sinyal akan ditetap-
  566. kan, jika ada.
  567.  
  568. ˆ Output. Simbol keluaran menentukan nama sinyal dan nilai parameter sinyal, jika ada. Selain itu mereka dapat
  569. menentukan proses tujuan dengan klausa TO dan / atau klausa VIA. Klausa TO menentukan proses tujuan baik dengan nama atau nilai PId. Klausa VIA digunakan untuk
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577. membuat daftar jalur signalroutes dan saluran di mana sinyal akan dikirim. Klausa VIA juga dapat menentukan gerbang. Jika klausa TO- dan VIA-18 dihilangkan, harus ada tujuan unik untuk sinyal berdasarkan nama sinyalnya.
  578. ˆ Save. Simbol simpan mencantumkan nama-nama sinyal yang harus disimpan, dan tidak dikonsumsi, dalam keadaan.
  579.  
  580. ˆ Task. Task digunakan untuk mengatur nilai data berdasarkan penugasan. Simbol tugas dapat berisi daftar tugas yang
  581. dipisahkan oleh koma. Atau simbol tugas dapat berisi teks informal, di mana penugasan formal tidak dianggap sesuai. Sisi kanan simbol operator penugasan mewakili ekspresi. Kejadian variabel di sebelah kanan operator penugasan berarti mengekstraksi nilai dari variabel. Vari- abel di sebelah kiri operator penugasan dimodi kasi untuk menjadi nilai ekspresi dari sisi kanan.
  582. ˆ Timer operations. Operasi pengatur waktu ditempatkan di dalam simbol tugas. Ketika timer belum SET, itu
  583. tidak aktif. Ketika SET, itu menjadi aktif. Timer diatur
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591. dengan nilai TIME. Jika timer aktif SET, maka timer akan terus aktif dengan nilai TIME baru. RESET menye- babkan timer menjadi tidak aktif dan memastikan bahwa sinyal batas waktu tidak akan dikonsumsi oleh proses.
  592. ˆ Decision. Simbol keputusan digunakan untuk memilih di antara berbagai tindakan alternatif berdasarkan suatu
  593. pertanyaan. Pertanyaannya ditulis dalam simbol keputu- san dan dapat berupa ekspresi formal (seperti yang ada dalam contoh kita) atau teks informal. Pada masing- masing alur dari simbol keputusan ada jawaban. Jalannya tindakan akan mengikuti garis di mana jawaban yang be- nar dikaitkan. Keputusan mengubah aliran kontrol sesuai dengan nilai-nilai variabel internal, sementara keadaan / input membangun perubahan aliran kontrol sesuai den- gan rangsangan eksternal. Seringkali ini masalah desain apakah kita menggunakan status dan sinyal atau keputu- san.
  594. ˆ Procedure Call. Simbol-simbol pemanggilan prosedur menyeru- pai simbol-simbol prosedur (referensi), tetapi sudut-sudutnya
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602. berbeda. Perhatikan bahwa simbol panggilan prosedur memiliki satu dan hanya satu pintu masuk dan satu dan hanya satu pintu keluar.
  603. ˆ Create Request. Ini menyebabkan instance proses dibuat dan diberi nilai parameter awal. Hanya anggota proses
  604. yang menetapkan jumlah instance maksimum yang belum tercapai yang dapat dibuat. Perhatikan bahwa blok tidak dapat dibuat secara dinamis. Dalam diagram blok, kreasi dapat ditunjukkan oleh garis putus-putus dari proses in- duk ke proses keturunan.
  605. ˆ Stop. Sementara proses dibuat oleh orang tua mereka (atau secara implisit pada waktu start-up), proses mungkin
  606. tidak saling membunuh. Proses berakhir jika mereka men- capai simbol Stop. Ketika suatu proses telah dihentikan, setiap upaya untuk referensi proses itu akan menghasilkan kesalahan.
  607. Text area.
  608.  
  609. ˆ Variabel. Variabel dalam SDL dideklarasikan dengan cara
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617. yang sama seperti dalam bahasa pemrograman. DCL adalah kata kunci yang mendahului deklarasi data. Daftar nama berikut ini diakhiri oleh nama sortir. Sortir adalah istilah
  618. teknis SDL untuk apa yang biasanya disebut tipe data.
  619.  
  620. ˆ Timers and time. Penghitung waktu dinyatakan mirip dengan variabel. Waktu adalah tipe data khusus dan
  621. terutama digunakan sehubungan dengan timer. Ekspresi "NOW + 5" adalah nilai waktu, dan itu menambahkan ekspresi waktu NOW dan Durasi 5 (di sini detik). NOW adalah operator tipe data waktu dan mengembalikan real- time saat ini. Durasi adalah tipe data khusus lainnya dan juga terutama digunakan sehubungan dengan penghitung waktu. Pengatur waktu seperti jam alarm. Mereka akan mengeluarkan sinyal time-out ketika waktu mereka ter- capai. Mungkin ada beberapa timer berbeda yang aktif secara bersamaan.
  622. ˆ Process Identi er, PId. Setiap proses SDL memiliki iden- ti kasi unik yang merupakan nilai dari tipe data PId. Ek-
  623. spresi PId digunakan terutama sebagai tujuan output. Ni-
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631. lai PId diperoleh dari ekspresi PId berikut yang telah di- tentukan sebelumnya dalam semua proses:
  632. i. SELF Proses itu sendiri.
  633.  
  634. ii. OFFSPRING contoh proses terbaru yang dibuat oleh proses ini.
  635. iii. PARENT proses pembuatan, jika proses ini dibuat secara dinamis.
  636. iv. SENDER pengirim sinyal yang paling baru dikon- sumsi oleh proses ini.
  637. ˆ Data types. SDL memiliki tipe standar yang sangat mirip dengan yang kita ketahui dari bahasa pemrograman. Se-
  638. lain itu, dimungkinkan untuk menentukan tipe data baru menggunakan generator dan struktur. Dimungkinkan juga untuk mende nisikan tipe yang sepenuhnya baru, meng- gunakan pendekatan aksiomatik.
  639. Comment and text extension symbols
  640. Ini sangat mirip, tetapi dibedakan oleh garis asosiasi. Baris asosiasi untuk simbol komentar terputus-putus, sedangkan un-
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648. tuk ekstensi teks solid. Seperti namanya, ekstensi teks adalah ekstensi teks dalam simbol.
  649. Type in process area.
  650. Area ini berisi diagram jenis layanan dan / atau diagram prosedur, atau referensi ke diagram tersebut. Hanya simbol prosedur (referensi) yang ditunjukkan dalam contoh di sini.
  651. Procedure Diagram.
  652. Prosedur adalah unit lingkup dan mereka mungkin memi- liki deklarasi variabel mereka sendiri. Prosedur mengandung mekanisme yang sama untuk menggambarkan perilaku seperti yang ditemukan dalam proses, tetapi prosedur bukan aktor mereka sendiri. Penafsiran dilakukan oleh proses di mana mereka diny-
  653. atakan. Fitur khusus diagram prosedur adalah:
  654.  
  655. ˆ Parameter. Prosedur dide nisikan dengan parameter for- mal yang menerima nilai aktual ketika prosedur dipang-
  656. gil. Parameter dapat dilewatkan dengan nilai, yang meru- pakan standar, atau dengan referensi.
  657. ˆ Prosedur memulai dan mengembalikan simbol. Dua sim- bol khusus mewakili awal prosedur dan kembali dari prose-
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665. dur.
  666.  
  667.  
  668. 9 SDL dan Bahasa lain
  669.  
  670. SDL sangat cocok untuk menjadi inti dari proyek skala penuh karena kemampuannya untuk berinteraksi dengan bahasa lain. Bahasa tersebut mencakup notasi tingkat tinggi lainnya untuk analisis seperti teknik pemodelan objek (OMT) / model ba- hasa pemodelan yang tidak terikat (UML) dan kasus penggu- naan mobile switching center (MSC), serta notasi sistem abstrak satu (ASN.1) atau de nisi arsitektur tipe broker permintaan ob- jek umum (CORBA) / bahasa deskripsi antarmuka (IDL). Se- lain itu, ada alat yang tersedia yang dapat menghasilkan kode yang dapat dieksekusi misalnya, C / C ++ atau ITU ba- hasa tingkat tinggi (CHILL), langsung dari desain SDL. Pen- gujian juga dapat dihasilkan dari spesi kasi SDL dengan mem- buat rangkaian uji dalam pohon dan gagasan gabungan tabu- lar (TTCN). Lihat Gambar 1 untuk hubungan antara bahasa- bahasa ini.
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678. Biasanya, prosedur mulai dari analisis persyaratan hingga penerapan dan pengujian produk akan melibatkan langkah-langkah berikut:
  679. ˆ Kumpulkan persyaratan awal dalam dokumen teks.
  680. ˆ Analisis sistem studi menghasilkan sejumlah model objek OMT / UML dan kasus penggunaan MSC yang menggam-
  681. barkan skenario tipikal. Kelas yang dihasilkan diimple- mentasikan dalam SDL sebagai diagram blok SDL dan de nisi tipe data SDL / ASN.1 / IDL.
  682. ˆ Lengkapi diagram SDL dan spesi kasi ASN.1 atau IDL ke tingkat di mana mereka dapat disimulasikan dan diperiksa
  683. untuk konsistensi dengan analisis persyaratan sistem.
  684.  
  685. ˆ Gunakan veri kasi dan validasi untuk menentukan apakah properti yang diperlukan telah diterapkan dengan benar
  686. dan lengkap. Prosedur veri kasi juga mendeteksi kesala- han umum seperti deadlock, balapan sinyal, kehilangan sinyal, dll. Ketika desain SDL terbukti konsisten dengan persyaratan, kode untuk aplikasi dapat dihasilkan.
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694. ˆ Buat test suite di TTCN. Tes dapat dihasilkan dari spesi-
  695. kasi SDL. Dalam beberapa kasus, tes semacam itu sudah
  696. tersedia (mis., Dari badan standardisasi).
  697.  
  698. ˆ Hasilkan kode untuk membuat suite uji yang dapat diek- sekusi yang dapat dijalankan dalam sistem pengujian.
  699.  
  700. ˆ Jalankan tes yang dapat dieksekusi dan uji aplikasi di lingkungan target.
  701.  
  702.  
  703. 10 Karakteristik SDL
  704.  
  705. SDL adalah bahasa desain dan implementasi yang didedikasikan untuk sistem teknis canggih (yaitu, sistem waktu-nyata, sistem terdistribusi, dan sistem yang digerakkan oleh peristiwa umum di mana kegiatan paralel dan komunikasi dilibatkan). Area ap- likasi yang umum adalah sistem telekomunikasi tingkat tinggi dan rendah, sistem aerospace, dan sistem misi kritis yang ter- distribusi atau sangat kompleks.
  706. SDL memiliki serangkaian karakteristik khusus yang mem- bedakannya dari teknologi lain:
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714. ˆ standard SDL adalah bahasa berstandar internasional nonproprietary (standar ITU-T Z.100 dan Z.105).
  715.  
  716. ˆ formal SDL adalah bahasa formal yang memastikan ketepatan, konsistensi, dan kejelasan dalam desain yang sangat pent-
  717. ing untuk aplikasi mission-critical (mis., Sebagian besar sistem teknis).
  718. ˆ graphical and symbol-based SDL adalah bahasa berba- sis gra s dan simbol yang memberikan kejelasan dan ke-
  719. mudahan penggunaan. Desain SDL adalah implementasi dan dokumentasinya sendiri.
  720. ˆ object-oriented (OO) SDL adalah enkapsulasi bahasa OO sepenuhnya mendukung, polimor sme, dan mengikat
  721. dinamis. Selain itu, SDL memperluas konsep kelas OO berorientasi data tradisional dengan menyesuaikannya un- tuk aplikasi teknis dan memperkenalkan konsep OO untuk objek aktif (mis., Sistem, blok, dan mesin negara).
  722. ˆ highly testable SDL memiliki tingkat testabilitas yang tinggi sebagai hasil dari formalismenya untuk paralelisme,
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. antarmuka, komunikasi, dan waktu. Peningkatan kuali- tas dan kecepatan sangat dramatis dibandingkan dengan teknik desain nonformal tradisional.
  731. ˆ portable, scalable, and open SDL portable, scalable, dan terbuka. Implementasi SDL tidak tergantung pada
  732. kompiler silang, sistem operasi, prosesor, mekanisme ko- munikasi antarproses, dan metode distribusi. Implemen- tasi SDL tunggal dapat digunakan untuk banyak arsitek- tur dan kon gurasi target yang berbeda.
  733. ˆ highly reusable SDL menyediakan tingkat penggunaan kembali yang tinggi. Karena kejernihan visual, kemam-
  734. puan uji, konsep OO, antarmuka yang jelas, dan mekanisme abstraksi, desain SDL memiliki tingkat usabilitas yang jauh lebih tinggi daripada jenis desain atau implementasi lainnya.
  735. ˆ e cient Formalisme dan tingkat abstraksi yang disedi- akan oleh SDL memungkinkan untuk menerapkan teknik
  736. optimisasi canggih untuk kompilasi silang.
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744. 11 Model dan Struktur Teoritis
  745.  
  746. 11.1 Model Teoritis
  747.  
  748. Model teoritis dasar dari sistem SDL terdiri dari satu set mesin
  749. negara terbatas hingga (FSM) yang berjalan secara paralel. Mesin- mesin ini independen satu sama lain dan berkomunikasi dengan sinyal diskrit.
  750. Sistem SDL terdiri dari komponen-komponen berikut:
  751.  
  752. ˆ structure hirarki sistem, blok, proses, dan prosedur
  753. ˆ communication sinyal dengan parameter dan saluran sinyal opsional (atau rute sinyal)
  754.  
  755. ˆ behavior Proses
  756. ˆ data tipe data abstrak (ADT)
  757. ˆ inheritance menggambarkan hubungan dan spesialisasi Subbagian berikut ini memperkenalkan konsep dasar.
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765. 11.1.1 Structure
  766. SDL terdiri dari empat level hierarki utama: ˆ system
  767. ˆ blocks
  768. ˆ processes ˆ procedures
  769. Membagi suatu sistem menjadi hirarki sistem, blok, dan proses disebut mempartisi sebuah sistem. Tujuan dari partisi meliputi:
  770. ˆ menyembunyikan informasi (memindahkan detail yang tidak penting dalam ikhtisar ke level yang lebih rendah)
  771.  
  772. ˆ mengikuti subdivisi fungsional alami
  773. ˆ membuat modul dengan ukuran yang dapat dikelola se- cara intelektual
  774.  
  775. ˆ membuat korespondensi dengan perangkat lunak atau perangkat keras yang sebenarnya
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783. ˆ menggunakan kembali spesi kasi yang sudah ada
  784. Setiap tipe proses SDL dide nisikan sebagai mesin status hier- arki bersarang. Setiap mesin substrat diimplementasikan dalam suatu prosedur. Prosedur dapat bersifat rekursif; mereka bersi- fat lokal untuk suatu proses atau mereka dapat tersedia secara global tergantung pada ruang lingkup mereka. SDL juga men- dukung paradigma prosedur jarak jauh, yang memungkinkan seseorang untuk membuat panggilan prosedur yang dieksekusi dalam konteks proses lain.
  785. Proses SDL memiliki ruang memori yang terpisah, (mis., Data bersifat lokal untuk suatu proses atau prosedur). Ini adalah aspek yang sangat penting yang secara dramatis mengurangi jumlah kekurangan dan meningkatkan ketahanan.
  786. Seperangkat proses dapat secara logis dikelompokkan ke dalam blok (yaitu, subsistem). Blok dapat bersarang di dalam satu sama lain untuk secara rekursif memecah sistem menjadi sub- sistem enkapsulasi yang lebih kecil dan dikelola. Mekanisme break-down ini penting untuk upaya pengembangan tim besar, dan SDL menyederhanakan ini dengan juga menyediakan antar-
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794. muka yang jelas antara subsistem.
  795.  
  796. 11.1.2 Struktur Statis dan Dinamis
  797.  
  798. Struktur statis suatu sistem dide nisikan dalam hal blok dan saluran. Blok dianggap sebagai modul dengan model kotak hi- tam yang terkenal.
  799. Struktur dinamis dide nisikan dengan bantuan proses dan konsep rute sinyal. Suatu proses adalah perangkat independen yang bereaksi terhadap rangsangan dalam bentuk sinyal (konsep proses dijelaskan lebih lengkap dalam sub-bab Perilaku).
  800.  
  801. 11.1.3 Communication
  802.  
  803. SDL tidak menggunakan data global apa pun. SDL memiliki dua mekanisme komunikasi dasar: sinyal asinkron (dan param- eter sinyal opsional) dan panggilan prosedur jarak jauh yang sinkron. Kedua mekanisme dapat membawa parameter untuk bertukar dan menyinkronkan informasi antara proses SDL dan dengan sistem SDL dan lingkungannya (mis., Aplikasi non-SDL atau sistem SDL lainnya).
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811. SDL mende nisikan antarmuka yang jelas antara blok dan proses melalui saluran gabungan dan arsitektur rute sinyal. Ar- sitektur komunikasi ini dengan antarmuka sinyal yang jelas se- cara formal menyederhanakan pengembangan tim besar dan memastikan konsistensi antara berbagai bagian sistem.
  812. SDL mende nisikan waktu dan timer dengan cara yang cer- das dan abstrak. Waktu adalah aspek penting dalam semua sistem waktu nyata tetapi juga di sebagian besar sistem ter- distribusi. Proses SDL dapat mengatur timer yang kedaluwarsa dalam periode waktu tertentu untuk mengimplementasikan time- out ketika pengecualian terjadi tetapi juga untuk mengukur dan mengontrol waktu respons dari proses dan sistem lain.
  813. Ketika penghitung waktu SDL kedaluwarsa, proses yang mem- ulai penghitung waktu menerima pemberitahuan (sinyal) den- gan cara yang sama seperti saat menerima sinyal lainnya. Sebe- narnya timer kedaluwarsa diperlakukan dengan cara yang persis sama dengan sinyal. Waktu SDL adalah abstrak dalam arti da- pat secara e sien dipetakan ke waktu sistem target, baik itu timer sistem operasi atau timer perangkat keras. Ini memu-
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821. ngkinkan untuk mensimulasikan waktu dalam model SDL se- belum sistem target tersedia.
  822. Aspek-aspek lain dari konsep pensinyalan di SDL adalah se- bagai berikut:
  823. ˆ Prioritas sinyal dan proses tidak berada dalam ruang lingkup SDL. Masalah-masalah ini sebagai gantinya diserahkan
  824. ke fase implementasi di mana pengguna dengan arahan khusus dapat menetapkan sinyal dan prioritas proses.
  825. ˆ Sinyal SDL hanya dapat dikirim ke satu instance proses tertentu pada suatu waktu. Untuk mengaktifkan penyiaran,
  826. pengguna dapat menyertakan paket dengan beberapa fungsi tujuan umum yang akan menyediakan mekanisme penyiaran dalam implementasi.
  827.  
  828. 11.1.4 Behavior
  829.  
  830. Perilaku dinamis dalam sistem SDL dijelaskan dalam proses. Hi- rarki sistem / blok hanya deskripsi statis dari struktur sistem. Proses dalam SDL dapat dibuat pada saat sistem mulai atau
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838. dibuat dan diakhiri pada saat dijalankan. Lebih dari satu con- toh proses dapat ada. Setiap instance memiliki pengidenti kasi proses (PId) yang unik. Hal ini memungkinkan untuk mengirim sinyal ke setiap contoh proses. Konsep proses dan proses proses yang bekerja secara otonom dan bersamaan menjadikan SDL bahasa waktu nyata yang sebenarnya.
  839.  
  840. 11.1.5 Data
  841.  
  842. SDL menerima dua cara untuk menggambarkan data, tipe data abstrak (ADT) dan ASN.1. Integrasi ASN.1 memungkinkan berbagi data antar bahasa, serta penggunaan kembali struktur data yang ada.
  843. Konsep ADT yang digunakan dalam SDL sangat cocok un- tuk bahasa spesi kasi. Tipe data abstrak adalah tipe data tanpa struktur data yang ditentukan. Alih-alih, ia menetap- kan serangkaian nilai, serangkaian operasi yang diizinkan, dan serangkaian persamaan yang harus dipenuhi oleh operasi. Pen- dekatan ini membuatnya mudah untuk memetakan tipe data SDL ke tipe data yang digunakan dalam bahasa tingkat tinggi
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851. lainnya.
  852. Himpunan jenis yang telah ditentukan di SDL memungkinkan untuk bekerja dengan data dalam SDL dengan cara tradisional. Variabel jenis standar, seperti yang berikut, dapat dideklarasikan:
  853. ˆ integer ˆ real
  854. ˆ natural ˆ boolean
  855. ˆ character ˆ duration ˆ time
  856. ˆ charstring ˆ PId
  857. ˆ complex data sorts
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865. Deskripsi penggunaan ADT yang lebih maju berikut, di mana konsep operator digunakan untuk menyembunyikan manipulasi data.
  866.  
  867.  
  868. 12 Cara Menggunakan ADT Lanjutan
  869.  
  870. ADT di SDL dapat digunakan untuk lebih dari sekadar merep- resentasikan data, seperti untuk yang berikut:
  871. ˆ menyembunyikan manipulasi data
  872. ˆ menyembunyikan bagian algoritmik dari suatu spesi kasi ˆ membuat antarmuka ke rutinitas eksternal
  873. Fungsi pembaruan operator adalah untuk memperbarui basis data hasil lengkap dan menghitung ulang tempat untuk semua peserta setelah hasil baru. Ini adalah contoh algoritma pengu- rutan dan pencarian yang jauh lebih baik disembunyikan di op- erator daripada diungkapkan dalam SDL gra s biasa. Namun, operator harus dijelaskan menggunakan diagram SDL.
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881. 12.1 Inheritance
  882.  
  883. Konsep OO SDL memberi pengguna alat yang kuat untuk pe- nataan dan penggunaan kembali. Konsep ini didasarkan pada deklarasi tipe. Ketik deklarasi dapat ditempatkan di mana saja, baik di dalam sistem yang dekat dengan konteksnya, atau pada tingkat sistem. Gambar 7 menunjukkan sistem kontrol akses dengan jenis blok dan proses di tingkat sistem. Deklarasi tipe juga dapat ditempatkan dalam paket di luar sistem, untuk berbagi dengan sistem lain.
  884. Salah satu manfaat utama menggunakan bahasa berorien- tasi objek adalah cara sederhana dan intuitif objek baru dapat dibuat dengan menambahkan properti baru ke objek yang ada atau dengan mende nisikan ulang properti objek yang ada. In- ilah yang biasa disebut sebagai spesialisasi.
  885. Dalam SDL, spesialisasi tipe dapat dilakukan dengan dua cara:
  886. ˆ Subtipe mungkin menambahkan properti yang tidak dide n- isikan dalam supertipe. Misalnya, seseorang dapat menam-
  887. bahkan transisi baru ke jenis proses, menambahkan proses
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895. baru ke jenis blok, dll. (Lihat Gambar 8).
  896.  
  897. ˆ Subtipe dapat mende nisikan ulang tipe virtual dan tran-
  898. sisi virtual yang dide nisikan dalam supertype. Dimungkinkan
  899. untuk mende nisikan ulang konten transisi dalam tipe proses, untuk mende nisikan ulang konten / struktur tipe blok,
  900. dll.
  901.  
  902.  
  903. 13 Sharing Information, Reuse, and Main- tenance
  904. 13.1 Sharing Information Packages
  905.  
  906. Paket SDL adalah pustaka SDL gra s yang mende nisikan struk- tur data, sinyal, tipe proses, tipe blok, dan tipe sistem yang dapat dibagi antara sistem dan proyek SDL. Ini memfasilitasi aspek pemeliharaan dan penggunaan kembali untuk aplikasi be- sar dan memungkinkan untuk berbagi informasi antara banyak sistem.
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914. 13.2 Reuse and Maintenance (Specialized In- heritance and Polymorphism)
  915. Selain mendukung data berorientasi objek (mis., Objek pasif berorientasi objek) SDL juga mendukung semua tur berori- entasi objek untuk objek aktif misalnya, sistem, blok, dan mesin negara hingga tingkat transisi. Ini memperluas konsep kelas pasif tradisional yang lebih berorientasi pada aplikasi non- teknis dan ditemukan di UML, OMT, C ++, dan Java. SDL mengkhususkannya untuk aplikasi teknis (yaitu, sistem waktu- nyata, sistem terdistribusi, dan sistem berbasis peristiwa, di mana ada fokus yang lebih berat pada komunikasi dan objek aktif berorientasi negara).
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923. 14 Keterbukaan, Portabilitas, Skalabil- itas, dan Aplikasi Terdistribusi
  924. 14.1 Keterbukaan
  925.  
  926. Standar SDL terbaru (SDL 96) menetapkan prosedur eksternal (mis., Prosedur yang diterapkan di luar sistem SDL). Prosedur ini dapat diimplementasikan dalam bahasa selain SDL, seperti kode C. Dengan standar ITU Z.105, SDL dikombinasikan den- gan ASN.1. Ekstensi ini ke SDL memungkinkan pilihan antara mendeklarasikan data sesuai dengan sintaks SDL asli atau sesuai dengan ASN.1. Modul ASN.1 diperlakukan sebagai paket SDL dan dapat, misalnya, dibagi antara desain SDL dan test suite TTCN.
  927.  
  928. 14.2 Portabilitas dan Skalabilitas
  929.  
  930. Fitur utama SDL adalah mekanisme abstraksi untuk portabil- itas yang mulus antara cross-compiler dan sistem operasi. Se- lain itu, mekanisme abstraksi yang sama memungkinkan peng-
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938. guna untuk memilih cara memetakan proses SDL ke proses sik, skema IPC (komunikasi antarproses), dan waktu sesuai dengan apa yang paling e sien dalam setiap kasus aktual. Implemen- tasi yang sama dapat digunakan untuk banyak kon gurasi dan kernel yang berbeda, mulai dari sistem monotask kecil hingga sistem multiprosesor kelas atas.
  939.  
  940. 14.3 Aplikasi Terdistribusi
  941.  
  942. Mekanisme abstraksi yang sama yang membuat implementasi SDL independen dari cross-compiler, sistem operasi, dan IPC dan skema pemetaan proses juga membuat sistem SDL inde- penden dari arsitektur distribusi dan metode distribusi. Ini membuat SDL bahasa yang sempurna untuk pemodelan dan penerapan sistem terdistribusi. Satu model SDL mendukung banyak kon gurasi distribusi sik.
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950. 15 Graphical dan Textual Notations dan Application Areas
  951. 15.1 Graphical dan Textual Notations
  952.  
  953. Bahasa SDL mendukung dua notasi yang setara. Selain notasi gra s (SDL = GR), notasi tekstual (SDL = PR) distandarisasi.
  954. 15.2 Application Areas
  955.  
  956. Meskipun SDL berevolusi dalam telekomunikasi, ini menjadi se- makin populer di industri lain juga. Beberapa contoh aplikasi SDL di luar area telekomunikasi meliputi yang berikut:
  957. ˆ komunikasi satelit
  958. ˆ standardisasi aeronautika ˆ peralatan medis
  959. ˆ sistem kontrol kereta api
  960. ˆ protokol komunikasi di mobil
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968. 15.3 Application Area
  969.  
  970. Bahasa Spesi kasi dan Deskripsi terutama dikenal dalam bidang telekomunikasi, tetapi memiliki area aplikasi yang lebih luas. Area aplikasi dapat diringkas sebagai berikut:
  971. ˆ jenis sistem: waktu nyata, interaktif, didistribusikan, ˆ jenis informasi: perilaku dan struktur,
  972. ˆ tingkat abstraksi: ikhtisar ke detail.
  973. Bahasa Spesi kasi dan Deskripsi dikembangkan untuk digunakan dalam sistem telekomunikasi termasuk komunikasi data, tetapi sebenarnya dapat digunakan dalam semua sistem waktu ny- ata dan interaktif. Ini telah dirancang untuk spesi kasi dan deskripsi cara sistem berperilaku di mana ada inter-working an- tara sistem dan lingkungannya. Hal ini juga dimaksudkan untuk deskripsi struktur internal suatu sistem, sehingga sistem dapat dikembangkan dan dipahami satu bagian pada suatu waktu. Fi- tur ini sangat penting untuk sistem terdistribusi.
  974. Bahasa Spesi kasi dan Deskripsi mencakup berbagai tingkat abstraksi, dari tinjauan luas hingga tingkat desain terperinci.
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982. Penggunaan utama adalah untuk membuat model yang dapat dieksekusi pada tingkat abstraksi yang cukup tinggi. Meskipun bahasa awalnya tidak dimaksudkan untuk implementasi, ter- jemahan ke kode dimungkinkan dan praktis, karena (asalkan 'teks informal' tidak digunakan) model mesin negara dapat diek- sekusi. Jalur yang biasa adalah mengonversi ke 'C' atau Java, tetapi terjemahan langsung ke kode mesin dari prosesor virtual atau nyata juga dilakukan.
  983.  
  984.  
  985. 16 Keuntungan Bahasa Spesi kasi
  986.  
  987. Meskipun sejarah panjang Spesi kasi dan Deskripsi Bahasa, itu adalah fakta bahwa 1988 hanyalah awal dari era bahasa spe- si kasi. Meskipun mereka kemudian menjadi lebih populer, diasumsikan bahwa rata-rata pembaca tutorial ini tidak ter- biasa dengan bahasa tersebut. Oleh karena itu pada bagian ini diberikan garis besar manfaat menggunakan bahasa spesi-
  988. kasi, dibandingkan dengan menggunakan bahasa pemrogra- man (seperti C atau Java) atau metode desain (seperti SADT),
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996. yang dianggap sudah dikenal luas. Untuk perawatan yang lebih lengkap, lihat buku ITU / ISO manual / Ken Turner tentang teknik deskripsi formal.
  997. Mungkin diterima secara luas bahwa kunci keberhasilan su- atu sistem adalah spesi kasi dan desain sistem yang menyelu- ruh. Ini membutuhkan bahasa spesi kasi yang sesuai, memenuhi kebutuhan berikut:
  998. ˆ Seperangkat konsep yang terde nisi dengan baik
  999. ˆ Spesi kasi yang tidak ambigu, jelas, tepat dan ringkas
  1000. ˆ Dasar untuk menganalisis spesi kasi untuk kelengkapan dan kebenaran
  1001.  
  1002. ˆ Dasar untuk menentukan kesesuaian implementasi spesi-
  1003. kasi
  1004.  
  1005. ˆ Dasar untuk menentukan konsistensi spesi kasi relatif satu sama lain
  1006.  
  1007. ˆ Menggunakan alat berbasis komputer untuk membuat, memeli- hara, menganalisis, dan mensimulasikan spesi kasi.
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015. Hasil spesi kasi sistem dan aktivitas desain disebut spesi kasi di sini. Untuk suatu sistem mungkin ada spesi kasi pada berbagai tingkat abstraksi. Spesi kasi adalah dasar untuk menurunkan implementasi, tetapi harus untuk tujuan pemodelan abstrak dari detail implementasi secara berurutan
  1016. ˆ untuk memberikan gambaran umum tentang sistem yang kompleks,
  1017.  
  1018. ˆ untuk menunda keputusan implementasi, dan ˆ tidak mengecualikan implementasi yang valid.
  1019. Berbeda dengan program, spesi kasi formal - yang merupakan spesi kasi yang ditulis dalam bahasa spesi kasi - tidak (harus) dimaksudkan untuk dijalankan pada platform target. Selain berfungsi sebagai dasar untuk menurunkan implementasi, spesi-
  1020. kasi formal dapat digunakan untuk komunikasi yang tepat dan tidak ambigu antara orang-orang, terutama untuk pemesanan dan tender.
  1021. Penggunaan bahasa spesi kasi memungkinkan untuk men- ganalisis dan mensimulasikan solusi sistem alternatif, yang dalam
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029. praktiknya sering tidak mungkin ketika menggunakan bahasa pemrograman karena biaya dan waktu tunda. Bahasa spesi kasi menawarkan serangkaian konsep yang dide nisikan dengan baik untuk pengguna bahasa, meningkatkan kemampuannya untuk menghasilkan solusi untuk masalah dan untuk alasan tentang solusi.
  1030. Terlepas dari kriteria spesi kasi di atas, kenyataannya adalah bahwa dalam semakin banyak kasus, bahasa yang cocok seperti ITU-T Spesi kasi dan Deskripsi Bahasa dapat digunakan seba- gai bahasa spektrum luas yang mengambil deskripsi dari model abstraksi tingkat tinggi ke model yang dapat dieksekusi yang da- pat sebenarnya bisa digunakan sebagai implementasinya. Meng- gunakan satu bahasa menghindari pergeseran paradigma dan pengkodean ulang model dengan konsekuensi kesalahan yang terjadi dari spesi kasi ke implementasi. Apa yang tersisa un- tuk dilakukan pada tingkat implementasi adalah penyempur- naan kinerja dengan mengkodekan ulang beberapa elemen pent- ing, dan mengukur dimensi model menjadi ratusan atau ribuan, daripada angka kecil yang digunakan untuk validasi spesi kasi.
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038. 17 Language Overview
  1039.  
  1040. Bahasa ini dijelaskan dalam tutorial ini pada tiga tingkatan. Bagian ini memberikan deskripsi tingkat pertama, untuk mem- beri pembaca gambaran umum sebelum masuk ke detail lebih lanjut dalam deskripsi tingkat kedua. Deskripsi tingkat kedua diberikan dalam Ÿ2 - Ÿ8. Deskripsi tingkat ketiga dalam Ÿ9
  1041. - Ÿ10 memberikan penjelasan yang lebih menyeluruh tentang konsep-konsep dasar, dan dimaksudkan untuk pembaca yang lebih maju.
  1042. Catatan: Tutorial ini bukan buku teks di SDL-88. Ini hanya memberikan pengantar, dan tidak memberikan perawatan lengkap.
  1043. Konsultasikan de nisi bahasa Z.100 [1] untuk deskripsi lengkap bahasa. Konsultasikan buku teks untuk tutorial yang lebih lengkap.
  1044. De nisi, jenis dan contoh
  1045. Untuk sebagian besar konsep dasar perbedaan yang jelas dibuat antara de nisi, tipe dan contoh. De nisi mende nisikan tipe. Dari jenis tertentu, sejumlah instance yang diinginkan dapat dibuat. Jika kita mengambil (misalnya) konsep sistem,
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053. maka deskripsi sistem (de nisi sistem) dapat dibandingkan den- gan program sumber.
  1054. Catatan: Contoh sistem dari spesi kasi biasanya hanya ob- jek imajiner: tidak dibuat atau dibangun sebagai sistem nyata, tetapi dapat disimulasikan.
  1055. Untuk alasan praktis, istilah instance biasanya dihilangkan sebagai berikut. Misalnya istilah sistem berarti instance sis- tem, jika tidak dinyatakan sebaliknya. Perhatikan bahwa dalam sintaksis bahasa de nisi istilah digunakan sebagai istilah netral alih-alih istilah spesi kasi atau deskripsi.
  1056. Perilaku sistem
  1057. Perilaku suatu sistem didasari oleh perilaku gabungan dari sejumlah proses dalam sistem, lihat gambar 1 di bawah ini. Proses adalah mesin negara terbatas, yang bekerja secara otonom dan bersamaan dengan proses lainnya. Kerjasama antara proses dilakukan secara serempak dengan pesan diskrit, yang disebut sinyal.
  1058. Suatu proses juga dapat mengirim sinyal ke dan menerima sinyal dari lingkungan sistem. Diasumsikan bahwa lingkun-
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. gan bertindak dengan cara yang sama seperti Bahasa Spesi-
  1067. kasi dan Deskripsi, dan mematuhi batasan yang diberikan oleh deskripsi sistem, khususnya ia hanya mengirim sinyal ke sistem yang dide nisikan pada antarmuka dengan lingkungan.
  1068. Perilaku suatu proses bersifat deterministik: ia bereaksi ter- hadap rangsangan eksternal (dalam bentuk sinyal) sesuai den- gan uraiannya.
  1069. Setiap proses memiliki identitas unik (dari tipe Pid yang telah ditentukan). Sinyal selalu membawa identitas proses pen- giriman dan penerimaan, di samping nilai data yang mungkin. Dengan demikian proses penerimaan selalu mengetahui identi- tas proses pengiriman.
  1070. Suatu proses memiliki memori sendiri untuk penyimpanan variabel (selain informasi status, yang tidak secara langsung da- pat diakses oleh pengguna yang membuat model). Suatu proses tidak dapat menulis ke dalam variabel dari proses lain bahkan jika itu adalah turunan dari proses yang sama.
  1071. Catatan: Di SDL-88 sebenarnya ada mekanisme untuk se- cara langsung mengakses variabel-variabel dari proses lain, tetapi
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079. penggunaannya tidak digunakan karena tidak aman karena per- ilaku aktual dapat tidak dapat diprediksi. Dalam SDL-2000, akses langsung diizinkan antara proses yang tidak bersamaan ke data bersama.
  1080. Suatu proses memiliki antrian masukan yang tak terbatas secara teoritis, di mana sinyal yang masuk diantrikan. Su- atu proses baik dalam keadaan menunggu sinyal, atau sedang melakukan transisi antara dua negara. Transisi dimulai oleh sinyal pertama dalam antrian input yang diterima proses dalam keadaan itu. Ketika sinyal telah memulai transisi, itu dihapus dari antrian input (dan dikatakan dikonsumsi). Dalam transisi, variabel dapat dimanipulasi, keputusan dapat dibuat, proses baru dapat dibuat, sinyal dapat dikirim (ke proses lain atau ke proses itu sendiri) dll.
  1081. Struktur sistem
  1082. Tujuan penataan adalah untuk mengatasi kompleksitas. Kon- sep proses cocok juga untuk penataan, tetapi proses di SDL-88 selalu terkandung dalam sebuah blok, yang merupakan konsep penataan utama. Suatu sistem mengandung satu atau lebih
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092. Figure 1: System behaviour
  1093.  
  1094. blok, saling berhubungan satu sama lain dan dengan batas sis- tem oleh saluran. Saluran adalah sarana untuk menyampaikan sinyal. Lihat gambar 2.
  1095. Sebuah blok dapat dipartisi menjadi (sub) blok dan salu- ran, mirip dengan partisi sistem menurut gambar 2. Faktanya, sebuah sistem dapat dianggap sebagai jenis blok khusus, tidak memiliki saluran yang terhubung dari luar. Blok dalam blok sal- ing berhubungan satu sama lain dan dengan batas blok penutup dengan saluran.
  1096. Partisi blok berulang menghasilkan struktur pohon blok (den-
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106. Figure 2: Static structure of an SDL system
  1107.  
  1108. gan sistem sebagai blok root). Dalam SDL-88 blok dipartisi (yaitu blok yang berisi blok) tidak secara langsung mengan- dung proses apa pun. Blok daun dari struktur pohon blok di SDL-88 tidak dipartisi, dan berisi proses. Setiap proses yang ditunjukkan dalam diagram blok daun memiliki de nisi yang berbeda. Dalam blok daun, sinyal disampaikan pada rute sinyal antara proses, dan antara proses dan batas blok (rute sinyal di- analogikan dengan saluran), lihat gambar 3.
  1109. Struktur statis suatu sistem, tentu saja, tercermin dalam uraiannya.
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119. Figure 3: Structuring a block into process types
  1120.  
  1121. Dalam SDL-88 deskripsi blok dapat berisi deskripsi proses (sesuai dengan blok-daun) dan deskripsi struktur blok (sesuai dengan blok yang dipartisi). Pilihan antara dua versi blok ini harus dibuat sebelum waktu interpretasi (hasilnya disebut bagian porsi konsisten) - lihat "Interpretasi sistem". Namun, memiliki dua (atau lebih) deskripsi alternatif untuk blok yang sama tidak ditemukan sangat berguna dan agak membingungkan, sehingga tur ini dijatuhkan di SDL-2000.
  1122. Data abstrak
  1123. Untuk mende nisikan data, pendekatan tipe data abstrak aksiomatik telah dipilih. Itu berarti bahwa semua tipe data
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131. (yang ditentukan sebelumnya serta yang ditentukan pengguna) dide nisikan dalam cara yang independen, hanya dalam hal sifat-sifatnya. De nisi tipe data abstrak oleh aksioma memi- liki tiga komponen:
  1132. ˆ sekumpulan nilai,
  1133. ˆ serangkaian operasi pada nilai-nilai ini,
  1134. ˆ set aksioma yang mende nisikan operasi.
  1135. Dimungkinkan juga untuk mendapatkan tipe data dari tipe data lain yang sudah dide nisikan. Telah dianggap diinginkan untuk menyediakan beberapa tipe data yang telah ditentukan dalam bahasa (meskipun ini tidak mutlak diperlukan), yang akrab dalam perilaku dan sintaksisnya, misalnya Integer, Boolean, Character, Array.
  1136. Catatan: Bahasa sebenarnya membuat perbedaan antara tipe data dan mengurutkan (himpunan nilai Integer, Charac- ter dll. Macam). Perbedaannya dijelaskan dalam "Konsep tipe data", tetapi biasanya dihilangkan dalam bab-bab lain.
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144. Pendekatan tipe data abstrak aksiomatik berbeda secara substansial dari pendekatan yang biasa dalam bahasa pemro- graman, di mana pengguna harus mende nisikan tipe data baru dengan menggunakan tipe data yang sudah ditentukan, dan pada akhirnya dengan cara tipe data bahasa yang telah diten- tukan sebelumnya. Pendekatan konstruktif ini digunakan dalam bahasa pemrograman dapat menyiratkan pembatasan yang tidak diinginkan dan implementasi tertentu.
  1145. Di sisi lain, mende nisikan tipe data abstrak yang terbentuk dengan baik menggunakan aksioma tidak mudah, dan sulit un- tuk langsung mengimplementasikan atau mensimulasikan de n- isi tersebut. Untuk alasan ini disarankan untuk menghindari aksioma penulisan dan menggunakan tipe data bawaan. Ketika operasi tambahan diperlukan, disarankan untuk mende nisikan ini dengan algoritma operator yang diberikan secara tekstual atau dalam diagram operator. Dalam SDL-2000, sementara se- mua tipe data bawaan masih tipe data abstrak yang dide n- isikan menggunakan aksioma, itu tidak diperbolehkan untuk menambahkan deskripsi aksiomatik ke model bahasa: setiap
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153. tipe data yang ditentukan pengguna harus dibangun dari yang sudah ada dan operator algoritmik deskripsi.
  1154. Formulir representasi
  1155. Keramahan pengguna SDL-88 sebagian karena representasi gra s, SDL / GR, di mana sintaksis gra s digunakan untuk memberikan gambaran umum. Ini dilengkapi dengan sintaksis tekstual untuk beberapa konsep, di mana simbol gra s tidak cocok: misalnya, tipe data.
  1156. Ada juga representasi frase tekstual, SDL / PR, yang hanya menggunakan sintaksis tekstual. SDL / GR dan SDL / PR memiliki subset umum dari sintaks tekstual, dan dengan demikian tumpang tindih satu sama lain. SDL / PR digunakan terutama untuk komunikasi antar alat.
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164. Part II
  1165.  
  1166. Teori
  1167.  
  1168. 18 Ruang Lingkup Notasi
  1169.  
  1170. Tujuan merekomendasikan SDL (Spesi kasi dan Deskripsi Ba- hasa) adalah untuk menyediakan bahasa untuk spesi kasi yang tidak ambigu dan deskripsi perilaku sistem telekomunikasi. Spe- si kasi dan deskripsi menggunakan SDL dimaksudkan untuk menjadi formal dalam arti bahwa adalah mungkin untuk men- ganalisis dan menafsirkannya dengan jelas. Istilah spesi kasi dan deskripsi digunakan dengan makna sebagai berikut: a) spe- si kasi sistem adalah deskripsi perilaku yang diperlukan; dan
  1171. b) deskripsi sistem adalah deskripsi perilaku aktualnya; itulah implementasinya. Spesi kasi sistem, dalam arti luas, adalah spesi kasi perilaku dan seperangkat parameter umum sistem. Namun, SDL dimaksudkan untuk menentukan aspek perilaku suatu sistem; parameter umum yang menggambarkan sifat-sifat
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179. seperti kapasitas dan berat harus dijelaskan menggunakan teknik yang berbeda. CATATAN - Karena tidak ada perbedaan antara penggunaan SDL untuk spesi kasi dan penggunaannya untuk deskripsi, istilah spesi kasi digunakan dalam Rekomendasi ini untuk perilaku yang diperlukan dan perilaku yang sebenarnya.
  1180.  
  1181. 18.1 Objective
  1182.  
  1183. Tujuan umum ketika mende nisikan SDL adalah untuk menye- diakan bahasa yang:
  1184. a) mudah dipelajari, digunakan, dan ditafsirkan;
  1185. b) memberikan spesi kasi yang jelas untuk pemesanan, ten- der dan desain, sementara juga memungkinkan beberapa masalah dibiarkan terbuka;
  1186. c) dapat diperluas untuk mencakup perkembangan baru;
  1187. d) mampu mendukung beberapa metodologi spesi kasi dan desain sistem.
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195. 18.2 Application
  1196.  
  1197. Rekomendasi ini adalah manual referensi untuk SDL. Dokumen kerangka kerja metodologi, yang memberikan contoh penggu- naan SDL, tersedia sebagai Tambahan 1 hingga Z.100 yang diproduksi pada periode penelitian 1992-1996. Lampiran I Z.100 pertama kali diterbitkan pada bulan Maret 1993 juga berisi pe- doman metodologi, meskipun ini tidak memanfaatkan potensi penuh SDL.
  1198. Area utama aplikasi untuk SDL adalah spesi kasi perilaku aspek sistem waktu nyata, dan desain sistem tersebut. Aplikasi di bidang telekomunikasi meliputi:
  1199. a) pemrosesan panggilan dan koneksi (misalnya, penanganan
  1200. panggilan, pensinyalan telepon, pengukuran) dalam sistem switch- ing;
  1201. b) perawatan dan perawatan kesalahan (misalnya alarm, pem- bersihan kesalahan otomatis, tes rutin) dalam sistem telekomu- nikasi umum;
  1202. c) kontrol sistem (misalnya, kontrol kelebihan beban, modi-
  1203. kasi, dan prosedur perluasan);
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211. d) fungsi operasi dan pemeliharaan, manajemen jaringan;
  1212. e) protokol komunikasi data; f) layanan telekomunikasi.
  1213. SDL dapat, tentu saja, digunakan untuk spesi kasi fung- sional dari perilaku objek apa pun yang perilakunya dapat di- tentukan menggunakan model diskrit; di situlah objek berko- munikasi dengan lingkungannya melalui pesan diskrit.
  1214. SDL adalah bahasa yang kaya dan dapat digunakan untuk spesi kasi informal (dan / atau tidak lengkap) tingkat tinggi, spesi kasi semi formal dan detail. Pengguna harus memilih bagian SDL yang sesuai untuk tingkat komunikasi yang dimak- sud dan lingkungan di mana bahasa tersebut digunakan. Bergan- tung pada lingkungan di mana spesi kasi digunakan, maka banyak aspek dapat diserahkan kepada pemahaman umum antara sum- ber dan tujuan spesi kasi.
  1215. Dengan demikian SDL dapat digunakan untuk memproduksi:
  1216. a) persyaratan fasilitas;
  1217. b) spesi kasi sistem;
  1218. c) Rekomendasi ITU-T, atau Standar serupa lainnya (inter-
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226. nasional, regional atau nasional);
  1227. d) spesi kasi desain sistem;
  1228. e) spesi kasi terperinci;
  1229. f) deskripsi desain sistem (baik tingkat tinggi dan cukup rinci untuk langsung menghasilkan implementasi);
  1230. g) deskripsi pengujian sistem (khususnya dalam kombinasi dengan MSC dan TTCN). Organisasi pengguna dapat memilih level aplikasi SDL yang sesuai.
  1231.  
  1232. 18.3 System speci cation
  1233.  
  1234. Spesi kasi SDL mende nisikan perilaku sistem dengan cara stim- ulus / respons, dengan asumsi bahwa baik rangsangan dan re- spons terpisah dan membawa informasi. Secara khusus spesi-
  1235. kasi sistem dipandang sebagai urutan respons terhadap urutan rangsangan tertentu.
  1236. Model spesi kasi sistem didasarkan pada konsep komunikasi mesin keadaan terbatas.
  1237. SDL juga menyediakan konsep penataan yang memfasilitasi spesi kasi sistem besar dan / atau kompleks. Konstruksi ini
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245. memungkinkan partisi spesi kasi sistem menjadi unit yang da- pat dikelola yang dapat ditangani dan dipahami secara inde- penden. Partisi dapat dilakukan dalam sejumlah langkah yang menghasilkan struktur hirarki unit yang mende nisikan sistem pada tingkat yang berbeda.
  1246.  
  1247. 18.4 Perbedaan antara SDL-88 dan SDL-92
  1248.  
  1249. Bahasa yang dide nisikan dalam versi sebelumnya dari Rekomen- dasi ini adalah perpanjangan dari Z.100 sebagaimana diterbitkan dalam Blue Book 1988. Bahasa yang dide nisikan dalam Buku Biru dikenal sebagai SDL-88 dan bahasa yang dide nisikan dalam versi sebelumnya dari Rekomendasi ini disebut SDL-92. Setiap upaya telah dilakukan untuk membuat SDL-92 ekstensi murni SDL-88, tanpa membatalkan sintaks atau mengubah semantik dari setiap penggunaan SDL-88 yang ada. Selain itu, pen- ingkatan hanya diterima berdasarkan kebutuhan sebagaimana didukung oleh beberapa anggota ITU-T.
  1250. Ekstensi utama berada di bidang orientasi objek. Sementara SDL-88 adalah objek berdasarkan model yang mendasarinya,
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. beberapa konstruksi bahasa telah ditambahkan untuk memu- ngkinkan SDL-92 untuk secara lebih lengkap dan seragam men- dukung paradigma objek:
  1259. a) paket;
  1260. b) tipe sistem, blok, proses dan layanan;
  1261. c) instance sistem, blok, proses, dan layanan (himpunan) berdasarkan jenis;
  1262. d) parameterisasi jenis dengan menggunakan parameter kon- teks;
  1263. e) spesialisasi jenis, dan rede nisi jenis dan transisi virtual. Ekstensi lainnya adalah: transisi spontan, pilihan non-deterministik,
  1264. simbol input dan output internal dalam SDL / GR untuk kom- patibilitas dengan diagram yang ada, operator imperatif non-
  1265. deterministik apa pun, saluran tanpa penundaan, panggilan prose- dur jarak jauh dan prosedur pengembalian nilai, input bidang variabel, de nisi operator, kombinasi dengan deskripsi data ek- sternal, kemampuan pengalamatan yang diperluas dalam out-
  1266. put, aksi bebas dalam transisi, transisi kontinu dalam keadaan yang sama dengan prioritas yang sama, koneksi m: n saluran
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274. dan rute sinyal pada batas struktur. Selain itu, sejumlah relak- sasi kecil untuk sintaks telah diperkenalkan.
  1275. Dalam beberapa kasus, perubahan dilakukan pada SDL-88 di mana de nisi SDL-88 tidak konsisten. Pembatasan dan pe- rubahan yang diperkenalkan dapat diatasi dengan prosedur ter- jemahan otomatis. Prosedur ini juga diperlukan, untuk mengkon- versi dokumen SDL-88 di SDL-92 yang berisi nama yang terdiri dari kata-kata yang merupakan kata kunci dari SDL-92.
  1276. Untuk konstruk output semantik disederhanakan antara SDL- 88 dan SDL-92, dan ini mungkin telah membatalkan beberapa penggunaan khusus output (ketika tidak ada klausa diberikan dan ada beberapa jalur yang mungkin untuk sinyal) dalam spesi-
  1277. kasi SDL-88. Juga, beberapa properti dari properti kesetaraan berubah.
  1278. Untuk konstruk ekspor / impor diperkenalkan de nisi vari- abel jarak jauh opsional, untuk menyelaraskan ekspor variabel
  1279. dengan ekspor prosedur yang diperkenalkan (prosedur jarak jauh). Ini mengharuskan perubahan pada dokumen SDL-88 mana pun, yang memuat kuali kasi dalam ekspresi impor atau memperke-
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287. nalkan beberapa nama impor dalam cakupan yang sama dengan jenis yang berbeda. Dalam (jarang) kasus di mana itu perlu un- tuk memenuhi syarat variabel impor untuk menyelesaikan reso- lusi menurut konteks, perubahan untuk membuat SDL-88 men- jadi SDL-92 adalah untuk memperkenalkan <remote variable de nition> s dan untuk memenuhi syarat dengan pengidenti-
  1288. kasi dari remote yang diperkenalkan nama variabel.
  1289. Untuk konstruksi tampilan, de nisi tampilan telah dibuat lokal untuk proses melihat atau layanan. Ini mengharuskan pe- rubahan pada dokumen SDL-88, yang berisi kuali kasi dalam de nisi tampilan atau dalam ekspresi tampilan. Untuk mem- buat SDL-88 menjadi SDL-92 adalah menghapus kuali kasi ini. Ini tidak mengubah semantik ekspresi tampilan, karena ini dipu- tuskan oleh ekspresi pid (tidak berubah).
  1290. Konstruk layanan dide nisikan sebagai konsep primitif, alih- alih menjadi singkatan, tanpa memperluas propertinya. Peng- gunaan layanan tidak terpengaruh oleh perubahan ini, karena telah digunakan pula seolah-olah itu adalah konsep primitif. Alasan untuk perubahan ini adalah untuk menyederhanakan
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298. de nisi bahasa dan menyelaraskannya dengan penggunaan ak- tual, dan untuk mengurangi jumlah pembatasan layanan, yang disebabkan oleh aturan transformasi di SDL-88. Sebagai kon- sekuensi dari perubahan ini, konstruksi rute sinyal layanan telah dihapus, rute sinyal dapat digunakan sebagai gantinya. Ini hanya perubahan konseptual kecil, dan tidak memiliki implikasi untuk penggunaan konkret (sintaks rute sinyal layanan SDL-88 dan rute sinyal SDL-92 adalah sama).
  1299. Konstruk keluaran prioritas telah dihapus dari bahasa. Kon- struk ini dapat diganti oleh output ke diri sendiri dengan prose- dur terjemahan otomatis.
  1300. Beberapa de nisi SDL dasar diperluas secara luas, mis. de n- isi sinyal. Perlu dicatat bahwa ekstensi bersifat opsional, tetapi digunakan untuk memanfaatkan daya yang diperkenalkan oleh ekstensi berorientasi objek, mis. untuk menggunakan parame- terisasi dan spesialisasi untuk sinyal.
  1301. Kata kunci SDL-92 yang bukan kata kunci SDL-88 adalah: apapun, seperti, minimal, koneksi, koneksi akhir, endopera-
  1302. tor, endpackage, selesai, gerbang, antarmuka, nodelay, noequal-
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310. ity, tidak ada, paket, dide nisikan ulang, jarak jauh, pengem- balian, ini, gunakan, virtual.
  1311.  
  1312. 18.5 Perbedaan antara SDL-92 dan SDL-2000
  1313.  
  1314. Keputusan strategis dibuat untuk menjaga SDL stabil untuk pe- riode 1992 hingga 1996, sehingga pada akhir periode ini hanya sejumlah kecil perubahan yang dilakukan untuk SDL. Ini diter- bitkan sebagai Addendum 1 hingga Z.100 (10/96) daripada mem- perbarui dokumen SDL-92. Meskipun versi SDL ini kadang- kadang disebut SDL-96, itu adalah perubahan kecil diband- ingkan dengan perubahan dari SDL-88 ke SDL-92. Perubahan- nya adalah:
  1315. a) menyelaraskan sinyal dengan prosedur jarak jauh dan variabel jarak jauh;
  1316. b) menyelaraskan saluran dan rute sinyal;
  1317. c) menambahkan prosedur dan operasi eksternal;
  1318. d) memungkinkan blok atau proses untuk digunakan sebagai suatu sistem;
  1319. e) menyatakan ekspresi;
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327. f) mengizinkan paket pada blok dan proses;
  1328. g) operator tanpa parameter.
  1329. Ini sekarang telah dimasukkan ke dalam Z.100, bersama den- gan sejumlah perubahan lain untuk menghasilkan versi SDL yang dikenal sebagai SDL-2000. Dalam Rekomendasi ini ba- hasa yang dide nisikan oleh Z.100 (03/93) dengan Addendum 1 hingga Z.100 (10/96) masih disebut SDL-92.
  1330. Keuntungan dari stabilitas bahasa, yang dipertahankan se- lama periode 1992-1996, mulai dilampaui oleh kebutuhan un- tuk memperbarui SDL untuk mendukung dan lebih cocok den- gan bahasa lain yang sering digunakan dalam kombinasi dengan SDL. Juga alat dan teknik modern telah membuatnya praktis untuk menghasilkan perangkat lunak lebih langsung dari spe- si kasi SDL, tetapi keuntungan signi kan lebih lanjut dapat dibuat dengan memasukkan dukungan yang lebih baik untuk penggunaan ini dalam SDL. Sementara SDL-2000 sebagian be- sar merupakan peningkatan SDL-92, disepakati bahwa beber- apa ketidakcocokan dengan SDL-92 dibenarkan; jika tidak, ba- hasa yang dihasilkan akan terlalu besar, terlalu rumit dan ter-
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338. lalu tidak konsisten. Sub ayat ini memberikan informasi ten- tang perubahan. Bagaimana sebagian besar deskripsi SDL-92 mungkin ditransformasikan secara sistematis menjadi SDL-2000 diberikan dalam Lampiran III.
  1339. Perubahan telah dilakukan di sejumlah area, yang fokus pada penyederhanaan bahasa, dan penyesuaian ke area aplikasi baru:
  1340. a) penyesuaian konvensi sintaksis ke bahasa lain yang digu- nakan SDL;
  1341. b) harmonisasi konsep sistem, blok dan proses yang didasarkan pada "agen", dan penggabungan konsep rute sinyal ke dalam saluran konsep;
  1342. c) deskripsi antarmuka;
  1343. d) penanganan pengecualian;
  1344. e) dukungan untuk notasi teks algoritma dalam SDL / GR; f) keadaan komposit;
  1345. g) penggantian konstruk layanan dengan konstruk agregasi negara;
  1346. h) model baru untuk data;
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354. i) membangun untuk mendukung penggunaan ASN.1 den- gan SDL sebelumnya di Z.105 (03/95).
  1355. Perubahan lain adalah: paket bersarang, penahanan lang- sung blok dan proses dalam blok, parameter out-only.
  1356. Pada level sintaksis, SDL-2000 adalah case-sensitive. Kata kunci tersedia dalam dua ejaan: semua huruf besar atau semua huruf kecil. Kata kunci SDL-2000 yang bukan kata kunci SDL- 92 adalah:
  1357. abstrak, agregasi, asosiasi, break, pilihan, komposisi, lan- jut, endexceptionhandler, endmethod, endobject, endvalue, ex- ception, exceptionhandler, handle, metode, objek, onexception, dipesan, privat, dilindungi, publik, kenaikan, nilai.
  1358. Kata kunci SDL-92 berikut bukan kata kunci dalam SDL- 2000:
  1359. semua, aksioma, konstan, endgenerator, endnewtype, en- dre nement, endservice, galat, fpar, generator, diimpor, literal, peta, tipe baru, noequal, pengurutan, penyempurnaan, pengem- balian, ungkapkan, balikkan, layanan, jalur sinyal, tampilan, dilihat.
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367. Sejumlah kecil konstruksi SDL-92 tidak tersedia di SDL- 2000: tampilan ekspresi, generator, substruktur blok, substruk- tur saluran, perbaikan sinyal, de nisi data secara aksiomatis, diagram makro. Konstruksi ini jarang (jika pernah) digunakan, dan overhead menjaga mereka dalam bahasa dan alat tidak membenarkan retensi mereka.
  1368.  
  1369.  
  1370. 19 Cara Menggambar
  1371.  
  1372. 19.1 Conventions
  1373.  
  1374. Teks klausa ini tidak normatif. Sebaliknya ia mende nisikan konvensi yang digunakan untuk menggambarkan SDL. Peng- gunaan SDL dalam klausa ini hanya ilustrasi. Bahasa-bahasa metal dan konvensi yang diperkenalkan semata-mata diperke- nalkan untuk tujuan menggambarkan SDL dengan jelas.
  1375.  
  1376. 19.2 Tata bahasa SDL
  1377.  
  1378. SDL memberikan pilihan dua bentuk sintaksis yang berbeda untuk digunakan ketika mewakili suatu sistem; Representasi
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386. Gra k (SDL / GR), dan Representasi Frase tekstual (SDL / PR). Karena keduanya merupakan representasi konkret dari SDL yang sama, keduanya setara. Khususnya keduanya setara den- gan tata bahasa abstrak untuk konsep yang sesuai. Subset dari SDL / PR adalah umum dengan SDL / GR. Subset ini dise- but tata bahasa teks biasa. Meskipun SDL dapat ditulis dalam SDL / PR atau SDL / GR, bahasanya telah dirancang dengan pengetahuan bahwa SDL / PR jarang digunakan untuk tujuan seperti pertukaran antar alat. Format pertukaran umum yang ditentukan dalam Z.106 (10/96) selanjutnya mengurangi peng- gunaan SDL / PR. Sebagian besar pengguna menggunakan SDL
  1387. / GR. Gambar 5-1 menunjukkan hubungan antara SDL / PR, SDL / GR, tata bahasa beton dan tata bahasa abstrak.
  1388.  
  1389. 19.3 Aturan Menggambar
  1390.  
  1391. Ukuran simbol gra s dapat dipilih oleh pengguna.
  1392. Batas simbol tidak boleh overlay atau silang. Pengecualian untuk aturan ini berlaku untuk simbol garis, yang mungkin sal- ing bersilangan. Tidak ada hubungan logis antara simbol yang
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400. melakukan lintas. Berikut ini adalah simbol garis:
  1401. <association symbol>
  1402. <channel symbol>
  1403. <create line symbol>
  1404. <dashed association symbol>
  1405. <dependency symbol>
  1406. < ow line symbol>
  1407. <solid association symbol>
  1408. <solid on exception association symbol>
  1409. <specialization relation symbol>
  1410. Metasymbol diikuti oleh menyiratkan < ow line symbol>.
  1411. Simbol garis dapat terdiri dari satu atau beberapa segmen garis lurus.
  1412. Sebuah panah diperlukan pada < ow line symbol>, ketika memasuki < ow line symbol> lainnya, <out connector sym- bol> atau <nextstate area>. Dalam kasus lain, panah adalah opsional pada < ow line symbol>. < ow line symbol> adalah horisontal atau vertikal.
  1413. Gambar cermin vertikal <input symbol>, <output sym-
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421. bol>, <internal input symboll>, <internal output symbol>,
  1422. <priority input symbol>, <raise symbol>, <handle symbol>,
  1423. <comment symbol>dan <text extension symbol> diizinkan.
  1424. Argumen kanan dari metasymbol dikaitkan dengan harus lebih dekat ke argumen kiri daripada simbol gra s lainnya. El- emen sintaksis dari argumen kanan harus dapat dibedakan satu sama lain.
  1425. Teks dalam simbol gra s harus dibaca dari kiri ke kanan, mulai dari sudut kiri atas. Tepi kanan simbol ditafsirkan seba- gai karakter baris baru, menunjukkan bahwa pembacaan harus dilanjutkan di titik paling kiri dari baris berikutnya (jika ada).
  1426.  
  1427. 19.4 Partisi gambar
  1428.  
  1429. De nisi partisi berikut bukan bagian dari tata bahasa gra s Beton, tetapi bahasa logam yang sama digunakan.
  1430.  
  1431. <page> : : =
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437. <heading area> : : =
  1438.  
  1439.  
  1440. <heading> : : =
  1441.  
  1442.  
  1443.  
  1444. <frame symbol> c o n t a i n s
  1445. { <heading area> <page number area>
  1446. { <symbol> | < l e x i c a l unit > }* }
  1447.  
  1448.  
  1449. < i m p l i c i t t e x t symbol> c o n t a i n s <heading>
  1450.  
  1451.  
  1452. < k e r n e l heading> [< e x t r a heading >]
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461. < k e r n e l heading> : : =
  1462.  
  1463.  
  1464.  
  1465. <drawing kind> : : =
  1466.  
  1467.  
  1468.  
  1469. <e x t r a heading> : : =
  1470.  
  1471.  
  1472. <page number area> : : =
  1473.  
  1474.  
  1475.  
  1476. [< v i r t u a l i t y >] [ exported ]
  1477. <drawing kind> <drawing q u a l i f i e r > | <drawing name>
  1478.  
  1479.  
  1480. package | system [ type ] | b l o c k [ type ] | p r o c e s s [ type ] s t a t e [ type ] | p r o c e d u r e | o p e r a t o r | method
  1481.  
  1482. p a r t o f drawing heading not i n k e r n e l heading
  1483.  
  1484.  
  1485. < i m p l i c i t t e x t symbol> c o n t a i n s [
  1486. <page number> [ (<number o f pages >) ]
  1487.  
  1488.  
  1489.  
  1490. <page number> : : =
  1491.  
  1492.  
  1493. <number o f pages> : : =
  1494.  
  1495.  
  1496. <symbol> : : =
  1497.  
  1498. ]
  1499.  
  1500.  
  1501. < l i t e r a l name>
  1502.  
  1503.  
  1504. <Natural l i t e r a l name>
  1505.  
  1506.  
  1507. any o f the t e r m i n a l s d e f i n e d with a r u l e name ending i n " symbol "
  1508.  
  1509.  
  1510. <page> adalah non-terminal awal; oleh karena itu tidak disebut dalam aturan produksi apa pun. Gambar dapat dipar- tisi ke dalam sejumlah <page>, dalam hal ini <frame symbol> yang membatasi gambar dan gambar <heading> digantikan oleh <frame symbol> dan <heading> untuk setiap <page>.
  1511. <symbol> adalah simbol non-terminal gra s.
  1512. <implicit text symbol> tidak diperlihatkan, tetapi tersirat, agar memiliki pemisahan yang jelas antara<heading area> dan
  1513. <page number area>. <Heading area> ditempatkan di sudut
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521. kiri atas <frame symbol>. <page number area> ditempatkan di sudut kanan atas <frame symbol>. <title> dan unit sintak- sis tergantung pada jenis gambar.
  1522. <extra heading> harus ditunjukkan pada halaman pertama gambar, tetapi opsional pada halaman-halaman berikut. <Head-
  1523. ing> dan <drawing type> diuraikan untuk gambar-gambar khusus dalam masing-masing klausa Rekomendasi ini. <extra head- ing> tidak ditentukan lebih lanjut oleh Rekomendasi ini.
  1524. <virtuality> menunjukkan keutamaan jenis yang ditentukan oleh gambar dan mengekspor apakah suatu prosedur diekspor sebagai prosedur jarak jauh.
  1525. Gambar-gambar SDL / GR adalah<speci cation area>, <pack- age diagram>, <agent diagram>, <agent type diagram>, <pro- cedure diagram>, <operation diagram>, <composite state area>, dan <composite state type diagram>.
  1526.  
  1527. 19.5 Operasi
  1528.  
  1529. Grammar abstrak
  1530.  
  1531. Dynamic−operation −s i g n a t u r e = Operation −s i g n a t u r e
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539. S tati c −operation −s i g n a t u r e = Operation −s i g n a t u r e Operation −s i g n a t u r e : : Operation −name
  1540. Formal−argument* [ Result ]
  1541. Operation −name = Name
  1542. Formal−argument = Virtual −argument
  1543. | Nonvirtual −argument
  1544. V irtual −argument : : Argument
  1545. Nonvirtual −argument : : Argument
  1546. Argument = Sort −r e f e r e n c e − i d e n t i f i e r
  1547.  
  1548. Gagasan kompatibilitas semacam diperluas ke tanda tangan Operasi. S1 Operasi-tanda tangan adalah kompatibel untuk S2 Operasi-tanda tangan ketika:
  1549. a) S1 dan S2 memiliki jumlah argumen formal yang sama; dan
  1550. b) untuk setiap argumen-A Virtual dari S1, pengurutan yang diidenti kasi oleh pengidenti kasi-pengurutan-nya adalah pen- gurutan yang sesuai dengan pengidenti kasian pengidenti kasi pengurutan-pengurutan dari argumen terkait dalam S2;
  1551. c) untuk setiap argumen-Nonvirtual A dari S1, sort yang di- identi kasi oleh Sort-reference-identi er-nya adalah jenis yang sama dengan sort yang diidenti kasi oleh Sort-reference-identi er
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559. dari argumen yang sesuai dalam S2.
  1560. Tata bahasa teks konkret
  1561.  
  1562.  
  1563. <o pe rati o n s i g n a t u r e s > : :=
  1564.  
  1565.  
  1566. <o perato r l i s t > : :=
  1567.  
  1568.  
  1569.  
  1570. <method l i s t > : :=
  1571.  
  1572.  
  1573.  
  1574. <o pe rati o n s ig nature > : :=
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581. <o pe rati o n preamble> : :=
  1582.  
  1583.  
  1584.  
  1585. <o pe rati o n name> : :=
  1586.  
  1587.  
  1588.  
  1589. <arguments> : :=
  1590.  
  1591.  
  1592. <argument> : :=
  1593.  
  1594.  
  1595.  
  1596. <formal parameter> : :=
  1597.  
  1598. [< o perato r l i s t >] [<method l i s t >] o p e r a t o r s <o pe rati o n s ig nature >
  1599. { <end> <o pe rati o n s ig nature > }* <end>
  1600.  
  1601.  
  1602. methods <o pe rati o n s ig nature >
  1603. { <end> <o pe rati o n s ig nature > }* <end>
  1604.  
  1605.  
  1606. <o pe rati o n preamble>
  1607. { <o pe rati o n name>
  1608. | <name c l a s s operation > }
  1609. [< arguments >] [< r e s u l t >] [< r a i s e s >]
  1610.  
  1611.  
  1612. [< v i r t u a l i t y >] [< v i s i b i l i t y >]
  1613. | [< v i s i b i l i t y >] [< v i r t u a l i t y >]
  1614.  
  1615.  
  1616. <o pe rati o n name>
  1617. | <quoted o pe rati o n name>
  1618. ( <argument> { , <argument> }* ) [< argument v i r t u a l i t y >]
  1619. <formal parameter>
  1620.  
  1621.  
  1622. <parameter kind> <sort >
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630. <argument v i r t u a l i t y > : := v i r t u a l <r e s u l t > : :=
  1631. < r e s u l t sign > <sort >
  1632.  
  1633. Dalam tanda tangan Operasi, setiap Urutkan-referensi-pengidenti kasi dalam argumen Resmi diwakili oleh argumen <sort>, dan Hasil-
  1634. nya diwakili oleh hasil <sort>. <sort> dalam <argument> yang berisi <argumen virtuality> mewakili argumen Virtual, jika tidak <sort> dari <argument> mewakili argumen Nonvir- tual.
  1635. Nama Operasi adalah unik di dalam unit lingkup penentu
  1636. dalam sintaksis abstrak meskipun <nama operasi> yang bersangku- tan mungkin tidak unik. Nama Operasi unik berasal dari:
  1637. a) <nama operasi>; plus
  1638. b) daftar (mungkin kosong) pengidenti kasi jenis argumen; plus
  1639. c) pengidenti kasi semacam hasil; plus
  1640. d) pengidenti kasi semacam de nisi tipe data di mana <nama operasi> dide nisikan.
  1641. <nama operasi yang dikutip> memungkinkan operator dan nama metode yang memiliki bentuk sintaksis khusus. Sintaks
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649. khusus diperkenalkan sehingga, misalnya, operasi aritmatika dan operasi Boolean dapat memiliki bentuk sintaksis yang biasa. Artinya, pengguna dapat menulis "(1 + 1) = 2" daripada harus menggunakan, misalnya, sama (tambahkan (1,1), 2).
  1650. Jika <tanda tangan operasi> terkandung dalam <daftar op- erator>, maka <tanda tangan operasi> mewakili tanda tangan operasi statis, dan <tanda tangan operasi> tidak boleh mengan- dung <virtuality> atau <argumen virtualitas>. Jika <tanda tangan operasi> terkandung dalam <daftar metode> dan <vir- tualitas> tidak ada, maka <tanda tangan operasi> mewakili tanda tangan operasi statis dan tidak ada <argument> yang harus berisi <argumen virtualitas>. Jika <tanda tangan op- erasi> terkandung dalam <daftar metode> dan <virtualitas> hadir, maka <tanda tangan operasi> mewakili tanda tangan operasi-Dinamis. Dalam hal ini, satu set tanda tangan Op- erasi Dinamis dibentuk yang terdiri dari tanda tangan operasi- Dinamis yang diwakili oleh <tanda tangan operasi> dan se- tiap elemen dalam set tanda tangan dari metode pencocokan dalam supertype dengan nama-Operasi yang berasal dari sama
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658. <nama operasi> mempertimbangkan penggantian nama, dan tanda tangan Operasi semacam itu kompatibel dengan tanda tangan Operasi di supertype, jika ada.
  1659. Set ini harus ditutup dalam pengertian berikut: untuk dua tanda tangan Operasi apa pun Si dan Sj dalam perangkat tanda tangan Operasi, tanda tangan Operasi unik S sedemikian rupa sehingga:
  1660. a) S adalah jenis yang kompatibel dengan Si dan Sj; dan
  1661. b) untuk Sk Operasi-tanda tangan apa pun yang kompatibel dengan Si dan Sj, Sk juga kompatibel dengan S,
  1662. juga dalam himpunan tanda tangan operasi-Dinamis.
  1663. Kondisi ini memastikan bahwa himpunan tanda tangan operasi- Dinamis membentuk kisi dan menjamin bahwa tanda tangan
  1664. Operasi terbaik yang cocok dapat ditemukan ketika menafsirkan aplikasi operasi. Jika set tanda tangan operasi dinamis tidak memenuhi kondisi ini, <sdl spesi kasi> tidak valid.
  1665. CATATAN - Spesialisasi jenis mungkin mengharuskan tanda tangan Operasi tambahan ditambahkan ke <daftar metode> untuk memenuhi kondisi ini.
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673. <result> dalam <tanda tangan operasi> dapat dihilangkan hanya jika <tanda tangan operasi> terjadi dalam <metode daf- tar>.
  1674. <argumen virtualitas> sah hanya jika <virtuality> berisi kata kunci virtual atau dide nisikan ulang.
  1675. Semantik
  1676. Bentuk in x atau operator monadik atau metode yang diku- tip adalah nama yang valid untuk operator atau metode.
  1677. Operator atau metode memiliki hasil semacam, yang meru- pakan jenis yang diidenti kasi oleh hasil.
  1678. Model
  1679. Jika <tanda tangan operasi> terkandung dalam <daftar metode> ini diperoleh sintaksis dan ditransformasikan sebagai berikut: sebuah <argument> dibangun dari kata kunci virtual, jika <virtuality> hadir, <jenis parameter> in / out, dan <sort identi er> dari sort yang dide nisikan oleh <data type de - nition> yang terlampir. Jika tidak ada <arguments>, maka
  1680. <arguments> terbentuk dari <argument> yang dikonstruksi dan dimasukkan ke dalam <tanda tangan operasi>. Jika ada
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688. <argument>, <argument> yang dibuat ditambahkan ke awal daftar asli <argument> di <argument>.
  1689. Jika <sort> <argument> adalah <anchored sort>, <argu- ment> secara implisit mengandung <argumen virtuality>. Jika
  1690. <tanda tangan operasi> berisi kata kunci yang dide nisikan ulang di <virtuality>, untuk setiap <argument> dalam <tanda tangan operasi> yang cocok dari jenis dasar, jika <argument> ini (secara implisit atau eksplisit) berisi <argumen virtualitas>, maka <argument> yang sesuai dalam <tanda tangan operasi> secara implisit juga mengandung <argumen virtualitas>.
  1691. <argument> tanpa <parameter jenis> yang eksplisit memi- liki <jenis parameter> implisit.
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699. Part III
  1700.  
  1701. OpenGEODE, an SDL Editor for TASTE
  1702. 20 OpenGEODE
  1703.  
  1704. SDL (Spesi kasi dan Deskripsi Bahasa) adalah bahasa pemode- lan yang kuat untuk menggambarkan mesin negara secara vi- sual namun formal. Seperti bahasa pemrograman apa pun, SDL hadir dengan sintaksis tekstual, tetapi selain itu memiliki notasi gra s intuitif yang dapat digunakan untuk membangun model menggunakan editor interaktif. Semantik SDL yang ter- de nisi dengan baik menjadikannya kandidat yang tepat untuk menggambarkan perilaku sistem waktu-nyata yang tertanam.
  1705. Standar telah ditetapkan oleh ITU-T dengan referensi Z100. Antara lain, ini banyak digunakan di industri telekomunikasi. Lihat [1] untuk informasi lebih lanjut.
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713. Berkat formalismenya, konsepnya yang terde nisi dengan baik dan kemudahan penggunaan, bahasa SDL menjadi ukuran untuk pembuatan perangkat lunak yang aman dan kuat.
  1714. TASTE sekarang termasuk editor gra s SDL open-source yang menghasilkan kode Ada. Ini adalah perangkat lunak gratis, diimplementasikan dalam Python dengan kerangka kerja gra s Qt. Nama "OpenGEODE" dipilih sebagai penghargaan untuk alat ObjectGEODE yang sebelumnya, yang sayangnya telah di- hentikan beberapa tahun yang lalu. OpenGEODE terinspirasi secara bebas dari ergonomi leluhurnya, dan berusaha menun- jukkan bagaimana bahasa dan alat modern dapat membantu memberikan pengalaman pengguna yang hebat bagi para pro- grammer, bahkan mereka yang tidak terikat untuk menggu- nakan pendekatan visual untuk pengembangan.
  1715.  
  1716.  
  1717. 21 Fitur OpenGEODE
  1718.  
  1719. ˆ Editor gra s proses dan prosedur SDL. Diagram komu-
  1720. nikasi ditangkap dengan editor tampilan antarmuka TASTE.
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728. ˆ Fitur SDL2010: UNTUK loop dalam simbol tugas, status hierarkis dan paralel
  1729.  
  1730. ˆ Membaca dan menyimpan le .pr (notasi SDL tekstual), dengan dukungan CIF untuk informasi gra s
  1731.  
  1732. ˆ Mendukung tipe data ASN.1, termasuk notasi Nilai - periksa halaman ini untuk mengetahui lebih lanjut tentang kom-
  1733. piler dan alat ASN.1 kami
  1734.  
  1735. ˆ Mendukung subset simbol yang cukup untuk mengem-
  1736. bangkan aplikasi waktu nyata (tidak termasuk simbol SAVE)
  1737.  
  1738. ˆ Menghasilkan kode Ada dengan tipe ASN.1 menggunakan TASTE ASN.1 "compiler berserti kat" (SPARK)
  1739.  
  1740. ˆ Menghasilkan kode LLVM yang dioptimalkan untuk ke- cepatan dan kinerja pada target tanpa runtime Ada
  1741.  
  1742. ˆ Lengkap sintaks dan pemeriksaan semantik ˆ Konversi otomatis ke diagram Statechart
  1743. ˆ Simpan seluruh atau sebagian model ke le PNG / SVG
  1744. / PDF
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752. ˆ Hyperlinks (menautkan konten simbol ke dokumen ekster- nal atau halaman web)
  1753.  
  1754. ˆ Memperbesar, memperkecil
  1755. ˆ Pelengkapan otomatis teks yang tergantung pada konteks ˆ Penyorotan sintaksis
  1756. ˆ Undo / Redo, Copy-Paste
  1757. ˆ Mode VIM (Terbatas) - Anda dapat menggunakan: wq atau:% s, mencari, mengganti, g, dan / mencari pola
  1758.  
  1759.  
  1760. 21.1 Pembatasan SDL
  1761.  
  1762. Fitur- tur berikut dari bahasa SDL tidak didukung, sebagian besar karena mereka tidak kompatibel dengan sistem embedded atau karena mereka jarang digunakan. Silakan hubungi kami untuk lebih jelasnya:
  1763. ˆ simbol SIMPAN
  1764. ˆ Kondisi yang memungkinkan
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772. ˆ Menyatakan prosedur di dalam
  1773. ˆ Beberapa sintaks loop / algoritma tekstual (lihat ekstensi SDL)
  1774.  
  1775. ˆ Makro
  1776. ˆ Tipe data SDL (gunakan ASN.1 sebagai gantinya) - ter- masuk operator (prosedur penggunaan)
  1777.  
  1778. ˆ Daftar sinyal
  1779. ˆ Simbol `Alternatif`
  1780. ˆ Dukungan CIF penuh Ekstensi SDL
  1781. Hampir tidak ada ekstensi ke bahasa SDL:
  1782.  
  1783. ˆ Sintaks dari loop `FOR` berbeda dari salah satu standar Sintaks di OpenGEODE adalah:
  1784. 1 f o r i t e r a t o r in sequence_ of_ variable | RANGE( [ s t a r t ] , stop , [ step ] ) :
  1785. 2 l i s t o f SDL statements
  1786. 3 endf or
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794. CATATAN: Semantiknya sama dengan operator jangkauan di Python: nilai terakhir dikecualikan dari iterasi, artinya rentang
  1795. (4) akan menghasilkan 4 elemen (0, 1, 2, 3) dan rentang (1, 3) akan menghasilkan 2 elemen (1, 2).
  1796. ˆ Arahan memungkinkan untuk menentukan jalur / nama
  1797. le ASN.1:
  1798.  
  1799. USE Datamodel COMMENT 'path/to/ le.asn'; −− In a text box
  1800.  
  1801. Beberapa operator matematika didukung secara native: abs, ceil, cos, oor, round, sin, sqrt, trunc
  1802. Operator num (enumerated) memberikan nilai numerik dari enumerated
  1803. gunakan Present (variabel tipe PILIHAN) untuk mengetahui item mana yang dipilih
  1804. Seperti pada ObjectGeode Anda dapat menggunakan prose- dur bawaan "tulis" dan "writeln" untuk menampilkan teks
  1805. Penggabungan string dilakukan menggunakan notasi nilai ASN.1: string1_in_ASN.1 // string2_in_ASN.1 mis.
  1806. TASK r e s u l t := { 1 , 2 , 3 } // { 4 , 5 , 6 } ;
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814. 22 Mengapa SDL dan OpenGEODE ?
  1815.  
  1816. SDL memiliki semantik formal dan sintaksis. Belum memiliki sintaks teks sederhana dan kemampuan pengecekan tingkat lan- jut. Karena SDL menggunakan tipe data ASN.1, banyak pe- meriksaan dimungkinkan dengan SDL yang tidak ada dengan sebagian besar bahasa pemrograman lainnya.
  1817. Non-determinisme terdeteksi oleh alat sebagai kesalahan. Berikut adalah contoh kesalahan yang ditangkap oleh alat.
  1818. Jika Anda mendeklarasikan variabel-variabel ini:
  1819. DCL var 1 t_ int 32 , −− with T−I n t 3 2 : : = INTEGER ( −2147483648 . . 2147483647 )
  1820. var 2 t_ uint 8 , −− with T−UInt8 : : = INTEGER ( 0 . . 2 5 5 )
  1821. var 4 MyChoice , −− with MyChoice : : = CHOICE { a BOOLEAN, b Whatever }
  1822. var 5 MyEnum; −− with MyEnum : : = ENUMERATED { h e l l o , world , howareyou }
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830. Part IV
  1831.  
  1832. PENUTUP
  1833.  
  1834. Setelah menelaah dari penjelasan diatas, maka, dapat diketahui keuntungan dari penggunaan SDL atau Speci cation and De- scription Language adalah :
  1835. ˆ Spesi kasi disain dengan detil dan seksama ˆ Dapat membantu dalam proses debugging ˆ Meningkatkan kualitas perangkat lunak
  1836. ˆ Mempercepat proses pengembangan perangkat lunak ˆ Memudahkan pengembangan lanjut
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844. References
  1845.  
  1846. [1] Sarma, A. (1995) SDL-92. Tutorial at the 7th SDL Forum. Ibid.
  1847. [2] Bræk, R. and Haugen, Ø. (1993) Engineering Real Time Systems. An object-oriented methodology using SDL. Hemel Hempstead: Prentice Hall. ISBN 0-13-034448-6.
  1848. [3] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W (1991) Object-Ori- ented Modelling and De- sign. Englewood Cli s: Prentice-Hall.ISBN 0-13-630054-5.
  1849. [4] Yourdon E. (1989) Modern structured analysis. Englewood Cli s: Prentice-Hall. ISBN 0-13-598632-X.
  1850. [5] Z.100 (1994), CCITT Speci cation and description lan- guage (SDL), ITU-T.
  1851. [6] Z.100 C (1994), Initial algebra model. Annex C to Z.100, ITU-T.
  1852. [7] Z.100 D (1994), SDL prede ned data. Annex D to Z.100, ITU-T.
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860. [8] Z.100 F2 (1994), Speci cation and description language (SDL) - SDL formal de nition: Static semantics, ITU-T.
  1861. [9] Z.100 F3 (1993), Speci cation and description language (SDL) - SDL formal de nition: Dynamic semantics, ITU-T Apr. 94.
  1862. [10] Reed, R. Methodology for Real Time Systems.Tutorial at the 7th SDL Forum. Ibid.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement