Proje 2. ~ STATECHARTS ~ (Durum Şemaları) Zafer. İşcan 504052207



Benzer belgeler
Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE

NESNEYE YÖNELİK TASARIM SÜRECİ

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Algoritma ve Akış Diyagramları

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

DIV KAVRAMI <style> position: absolute

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Kullanım Uygulamaları Ön Görünüş. Dijital Ekran Mode Butonu Programlama Tuşu Sıcaklık Değiştirme tuşu ( - ) Sıcaklık Değiştirme tuşu ( +)

Kullanım Kitapçığı KIT FW8. 8 Bölgeli Kontrol Paneli REV NO : 01 /

SiSTEM ANALiZi ve TASARIMI

Ders 9 İşlem tanımları. Ders Sorumlusu: Dr. Saadettin Erhan KESEN

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Runner 4-8. Kullanım Kitapçığı. 4/8 Bölgeli Kontrol Paneli

KAÇAK AKIM RÖLESİ. Sayfa 1

Archive Player Divar Series. Kullanım kılavuzu

NX Motion Simulation:

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ

Grafik Hazırlama Aracı

BSM 101 Bilgisayar Mühendisliğine Giriş

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

SIMÜLASYON DERS SORUMLUSU: DOÇ. DR. SAADETTIN ERHAN KESEN. Ders No:5 Rassal Değişken Üretimi

CAEeda TM GENEL TANITIM. EDA Tasarım Analiz Mühendislik

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

POWER BI. Power BI Bileşenleri: Power BI'daki İş Akışı

CROW FREEWAVE KULLANMA KILAVUZU

Yaz.Müh.Ders Notları #6 1

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ

Alarm Sistemleri Teknik Eğitim

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

Sistem kavramı ile ilgili literatürde birçok tanım vardır. Bu tanımlara göre sistem; Aralarında karşılıklı ilişkiler olan elemanlar kümesidir.

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Matematik Ders Notları. Doç. Dr. Murat Donduran

VEKTÖR UZAYLARI 1.GİRİŞ

REVİZYON DURUMU. Revizyon Tarihi Açıklama Revizyon No

İleri Diferansiyel Denklemler

Algoritma ve Akış Diyagramları

GW420. Kurutma Makinesi Bilgisayar Kullanım Klavuzu. Lütfen kurulumdan önce dikkatle okuyunuz.

TEMEL BİLGİTEKNOLOJİLERİ

8.333 İstatistiksel Mekanik I: Parçacıkların İstatistiksel Mekaniği

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

Kullanım kılavuzunuz PIONEER AVIC-S1

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları

BTP 209 SİSTEM ANALİZİ VE TASARIMI

BÖLÜM 8 B- SUNU PROGRAMI 1. MICROSOFT POWERPOINT NEDİR? 2. POWERPOINT PROGRAMININ BAŞLATILMASI

Bu durumu, konum bazında bileşenlerini, yani dalga fonksiyonunu, vererek tanımlıyoruz : ) 1. (ikx x2. (d)

Dağıtık Sistemler CS5001

NNR Raporlarında Grafik Desteği

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

İleri Diferansiyel Denklemler

E5_C Serisi Hızlı Başlangıç Kılavuzu

VERİ YAPILARI VE PROGRAMLAMA

GANTT ÇİZELGESİ PERT DİYAGRAMI

BÖLÜM 1: MADDESEL NOKTANIN KİNEMATİĞİ

Kontrol Đşaretleşmesi

CM727 KULLANIM KILAVUZU

Mekatroniğe Giriş Dersi

4-1. Ön Kontrol Paneli

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

CAEeda ÇÖZÜMÜ YAPILMIŞ NACA 0012 KANADI İÇİN 2B ÇİZİM EĞİTİM NOTU. EDA Tasarım Analiz Mühendislik

1.2 Bu cihazı kullanan kişinin işinde profesyonel olması gerekir ve sıradan vasıfsız bir çalışan olmamalıdır.

Bilgisayar Mimarisi ve Organizasyonu Giriş

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b

İleri Diferansiyel Denklemler

VERİ KÜMELERİNİ BETİMLEME

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ. 1 - Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma:

IvoBase. Injector. Kompakt, buharsız. Ful anatomik enjeksiyon cihazı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

KULLANIM KILAVUZU ZAMAN AYARLAMA EKRAN

SORU 1: En az iki elemana sahip bir X kümesi ile bunun P (X) kuvvet. kümesi veriliyor. P (X) üzerinde 0 ; A = 1 ; A

Toplam Olasılık Prensibi

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

Chapter 5 Sistem Modelleme. Lecture 1. Chapter 5 System modeling

BM-311 Bilgisayar Mimarisi

Esnek Hesaplamaya Giriş

VERİ TABANI UYGULAMALARI

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

İÇİNDEKİLER. Mantık Kurallarının Elektrik Devrelerine Uygulanması... 14

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

YZM 2108 Yazılım Mimarisi ve Tasarımı

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

AKILLI GRİD. [X] Netsis Enterprise. [X] Netsis Standart. [X] Netsis Entegre 7.0.2

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

TEMEL MEKANİK 12. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

D.Saati AKTS Zorunlu Ders (Z) Meslek Dersi (M) Seçmeli Ders (S) TOPLAM

DERS BİLGİ FORMU. IV Türkçe Zorunlu Ders. Haftalık. Ders. Okul Eğitimi Süresi. Saati

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

TANIMLAYICI İSTATİSTİKLER

Transkript:

Low Power Electronic System Design Proje 2 ~ STATECHARTS ~ (Durum Şemaları) Zafer İşcan 504052207 İstanbul Teknik Üniversitesi Elektronik ve Haberleşme Mühendisliği Bölümü 19 Ekim 2007

Sunum Planı Kısa Özet Giriş Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) Diklik: Bağımsızlık ve eşgüdüm Ek Durum Şeması Özellikleri Olaylar ve Etkinlikler Biçimlendirmenin muhtemel uzantıları Durum Şemalarının Semantiği 2

Temel Kaynak [1]: David Harel, Statecharts: A visual formalism for complex systems, Science of Computer Programming, Vol. 8, Issue 3 (June 1987), Pages: 231-274 Durum Şemaları: - 1987 yılında David Harel tarafından geliştirilmiş - UML nin (Unified Modeling Language) bir parçası (Kullanım alanı geniş) [2] - Süper durumlar, eşgüdüm durumları ve eylemler durumun bir parçası 3

Kısa Özet: Geleneksel durum-geçiş diyagramlarının, hiyerarşi, eşgüdüm(concurrency) ve haberleşme öğelerini barındıran bir uzantısıdır. Durum diyagramları dilini, yüksek yapılı ve ekonomik bir tanımlama diline dönüştürür. (derli(compositional) ve modüler olduğu kadar, compact(yoğun) ve anlaşılırdır) Bilgisayarlı grafiklerin olanaklarıyla donatıldıkları zaman, betimlemeye farklı ayrıntı seviyelerinde bakmayı sağlar ve çok geniş belirtimleri bile yönetilir ve anlaşılır hale getirir. Hem tek başlarına davranışsal tanımlayıcı olarak, hem de fonksiyonel ayrıştırma ve veri akış tarifi gibi, sistemin diğer boyutlarını ele alan daha genel bir tasarım yönteminin bir parçası olarak kullanılabilirler. 4

Giriş: Büyük ve karmaşık sistemlerin belirtiminde ve tasarımında büyük bir problem var Tepkisel(Reactive) bir sistem, (transformational) dönüşümsel bir sistemin aksine, geniş bir ölçüde olaya bağlı, sürekli iç ve dış uyaranlara karşı tepki veren bir sistemdir. Ör: Telefon, otomobil, haberleşme ağları, işletim sistemleri, füze sistemleri (Problem: Tepkisel davranışın, ayrıntılı bilgisayarlı simülasyon yapabilmek için, açık ve gerçekçi, aynı zamanda biçimsel ve ayrıntılı bir şekilde anlatılması gereği) Tepkisel bir sistemin davranışı, mümkün olan giriş ve çıkış olayları dizisi, şartlar, eylemler ve zamanlama gibi kısıtların kümesidir. (Problemin özellikle vahim olmasının nedeni, bir diziler kümesinin (genellikle geniş ve karmaşık) insan aklının çerçevesiyle uyuşan, doğal olarak kullanımı kolay bir kademeli, seviyesel tanımlamadan uzak oluşu) Dönüşümsel sistemler için birinin dönüşüm veya fonksiyonu belirtmesi böylece giriş-çıkış ilişkisinin verilmesi genellikle yeterlidir. Ör: Birçok veri işleme sistemi 5

Giriş: Dönüşümsel sistemler de çok karmaşık olabilmelerine karşın, sistemin dönüşümsel davranışını daha küçük parçalara tutarlı ve ayrıntılı bir şekilde ayrıştırılmasına olanak tanıyan çok iyi yöntemler mevcuttur. Daha zor durumları gösteren tepkisel sistemler için, bu problem tatmin edici bir şekilde çözülememiştir. Bazı önemli ve umut vaat eden yaklaşımlar önerilmiştir ama genel kanı, daha fazla iyileştirme ve geliştirmenin gerekli olduğudur. Literatürün çoğu, karmaşık sistemlerin dinamik davranışını tanımlamada durum ve olayların daha doğal bir ortam olduğu konusunda hemfikirdir. Böyle bir tanımlamanın temel bileşeni durum geçişidir: A durumundayken α olayı olduğunda, C şartı da doğruysa, sistem B durumuna geçer. Gerçekten de sistem dinamiklerini konu alan birçok durumda bu geçerlidir. Ör: Saat zamanı gösterirken y düğmesine basılırsa, saat tarihi göstermeye başlar. 6

Giriş: Sonlu durum makineleri ve ona karşılık gelen durum diyagramları, bu tarz parçaları bir araya toplamak için gereken formal mekanizmalardır. Durum diyagramları düğümlerin durumları, okların geçişleri gösterdiği yönlü graflardır. Şekil 1 7

Giriş: Karmaşık bir sistem, yönetilemeyen ve üstel bir şekilde büyüyen durum çokluğu nedeniyle düz ve katmansız bir şekilde gösterilemez: Yapısız, gerçekçi olmayan ve kaotik bir durum diyagramı Kullanışlı olabilmesi için, durum / olay yaklaşımı modüler, hiyerarşik ve iyi yapılı olmalı Üstel durum artışı problemi çözülmeli, Tüm durum kombinasyonları açıkça gösterilmemeli. 8

Giriş: İyi bir durum / olay yaklaşımı aşağıdaki gibi daha genel ve esnek durumları da içine alabilmelidir. 1) Havadaki her durumda sarı kol çekildiğinde koltuk açılacaktır 2) Vites değişikliği durumu fren sisteminden bağımsızdır 3) Seçim düğmesine basıldığında seçilen hale gir 4) Gösterim-şekli zaman gösterimi, tarih gösterimi ve kronometre gösterimini içerir (1) : Durumları süper durum şeklinde toplama yeteneği (2) : Bağımsızlık veya diklik (orthogonality) (3) : Tek bir olayla isimlendirilmiş oktan ziyade daha genel geçişlere olan ihtiyaç (4) : Durumların detaylandırılması (refinement) 9

Giriş: Tek bir resim binlerce kelimeye değer Durum / olay biçimlendirmesinin, görsel cazibesini koruyarak, bu ihtiyaçları göz önüne alacak şekilde genişletilmesi gerekmektedir. Durum şemaları, durum ve geçişleri modüler bir şekilde tanımlayan, öbekleşmeyi, dikliği (eşgüdüm) ve detaylandırmayı sağlayan görsel bir biçimlendirme oluşturur. Geleneksel durum diyagramlarının AND / OR ayrıştırması ve seviyeler arası geçişleri sağlayan, eşgüdümlü bileşenler arasında haberleşme mekanizması kuran bir uzantısıdır. Bu uzantıyı sağlayan 2 gerekli fikir, derin tanımlamaların sağlanması ve diklik kavramıdır. Durum Şemaları = durum diyagramları + derinlik + diklik(eşgüdüm) + haberleşme 10

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Derinlik ve hiyerarşiyi ele alan grafiksel bir gösterime karar verirken, ağaç ya da diğer çizgi graflarının dezavantajı: Diyagramın alanı ne olursa olsun kullanmazlar; - çizgiler ve noktaların genişliği yoktur. - yer(location) bilgisinden faydalanmazlar. Herhangi seviyedeki durumları belirtmek için yuvarlatılmış dikdörtgenler (kutular), Hiyerarşi ilişkisini açıklamak için sarma yapı kullanılacaktır. Oklar herhangi bir seviyede başlayıp bitebilir Grafikler aslında, Euler daireleri, Venn şemaları ve hipergraflardaki kavramları birleştiren daha genel bir kavrama dayanmaktadır (higraph) ve çok farklı uygulama alanlarına sahip Bir ok bir olayla ve seçime bağlı olarak parantez içindeki bir şartla isimlendiriliyor. Ör:Şekil 1 de, A durumunda γ olayı gerçekleşirse ve P şartı sağlanırsa C durumuna gidiyor. 11

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : β olayı, sistemi A ya da C nin herhangi birinden B ye taşıdığı için A ve C kümelenerek, bir D süper durumuyla temsil edilebilir ve Şekil 2 deki gibi iki β oku tek bir β ile değiştirilebilir. Şekil 1 D: A XOR C Şekil 2 β: A ve C için, B ye götüren ortak özellik (Ok sayısında büyük azalma sağlıyor) 12

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Farklı bir yaklaşım - Önce Şekil 3 teki durumu ele alalım. - D durumunu A ve C yi içerecek şekilde iyileştirelim (α ve δ nın A veya C den hangisini işaret ettiğinin gösterilmesi gerekir) - γ durumu da eklenirse Şekil 2 deki durum gerçekleşir Zoom-in Zoom-out Şekil 3 Şekil 4 Şekil 5 13

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : - Kümeleştirme aşağıdan-yukarıya, - Detaylandırma yukarıdan aşağıya bir kavram - Her ikisi de bir durumun alt-durumları arasındaki OR ilişkisine neden oluyor. 14

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : - A,B ve C durumlarından A nın varsayılan(default) durum olduğunu düşünelim - (i) Şekil 1 için yapılan tanımlama - (ii) & (iii) Şekil 2 için yapılan tanımlama Şekil 6 15

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Örnek Bir adet ana ekran, 4 adet küçük ekran İki tonlu ses 4 kontrol düğmesi AM / PM veya 24 saat gösterim Tarih (ay, ayın günü, haftanın günü) Çan (Ayarlandığında saat başlarında çalıyor) İki bağımsız alarm Kronometre (etap, normal ve 1/100s göstergesi) Işık Zayıf pil uyarısı Bip testi Şekil 7: Citizen Quartz Multi-Alarm III 16

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : T1,T2 : Alarmların dahili zaman ayarları T: Şimdiki zaman P1: Alarm1 enable(seçili) ve Alarm2 disable veya T1 T2 P2: Alarm1 seçili değil ve Alarm2 seçili veya T2 T1 P: Alarm1 ve Alarm2 seçili ve T1=T2 Şekil 8 17

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Şekil 9 Göstergeler a ya basılarak değiştiriliyor d ye basılarak tarih ve zaman arası geçiş sağlanıyor Tarih durumunda 2 dakika kalınırsa, zaman konumuna geçiliyor Zaman göstergesi varsayılan durum 18

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Durumlardan oluşan bir gruba girmenin en ilginç ve sıklıkla kullanılan yolarından biri, o grup içindeki geçmiş(history) ile girmektir. Bu çeşit geçmişle girme yollarının en basiti en son ziyaret edilen duruma girmektir. Saat örneğinde, Şekil 9 daki alarm1, alarm2 ve çan durumlarının her birini, karşı gelen özelliğin enabled veya disabled göstergesini modellemek için off ve on alt-durumlarıyla detaylandırabiliriz. Yeni durumda a girişiyle birlikte alarm1 durumu Şekil 10a daki gibi gösterilebilir: İki durumdan en son ziyaret edilene gir ve eğer ilk kez bu durumdaysan off durumuna gir. Aynı şekilde, Şekil 10b deki ok-devamı yöntemi de kullanılabilir. Her iki durumda da iki durum arasında geçiş yapmak için d kullanılmaktadır. Şekil 10 19

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : H: Geçmiş sadece göründüğü seviyede uygulanır anlamına gelir. (Şekil 11a da, geçmiş sadece G ile F arasında seçim yapacaktır A,B ve C,D,E durumları varsayılanda) H*: Bütün seviyelerde en son ziyaret edilen durumlar saklanacaktır Şekil 11b de A,B ve C,D,E durumları, son ziyaret edilen durumlarında) Şekil 11 20

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Ek H ler eklenerek, istenen seviyelerde geçmişin saklanması sağlanabilir (Şekil 12) Daha karmaşık geçmiş kavramları için temporal logic (zamansal mantık) kullanılabilir Şekil 12 21

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Göstergeler durumu, genel zaman/tarih kombinasyonu ve alarmlar için güncelleme yeteneğiyle zenginleştirilmiştir. Güncelleme mod larına c ile girilir. Bunun için zaman / tarih güncelleme modundayken 2 saniye boyunca c düğmesine basılması gerekir Bütün hallerde, b düğmesine basıldığında önceki göstergeye gidilir. Göstergelerin şu ana kadarki durumu Şekil 13 te gösterilmiştir. 22

Şekil 13 23

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Bir sonraki adım, bu güncelleme modlarının detaylandırılmasıdır. Şekil 14 ve 15 te bu durumlar için durum şemaları gösterilmektedir. Şekil 14 Şekil 15 24

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Her iki durumda da ek c çıkışı Şekil 16a daki gibi bir önceki seviyede gösterilemez çünkü c, güncellemenin(update) tümüne uygulanmamaktadır. Böyle bir durumda Şekil 16b deki gösterim biçimi kullanılabilir. Kısacası Şekil 14 ten zoom out yapılınca Şekil 16b biçimi elde edilir. Şekil 14 ve 15 te herhangi bir güncelleme alt durumundayken d ye basıldığında son ziyaret edilen alt duruma girilir. Şekil 14 için bu d oku 9 adet okun (Her bir durum için 1 adet) yerini tutmaktadır Şekil 16 25

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Ekonomik bir gösterim elde etmeye çalışılıyor Şekil 17c deki ters oklar sistemin determinizmiyle çelişiyor. Durum şemalarının derinliğinden kaynaklanan başka çelişkiler oluşabilir ve bunlardan kaçınılmalıdır Şekil 17 26

Durum-Seviyeleri Kümeleştirme ve Detaylandırma (refinement) : Şekil 18 de α çelişkisi gözükmektedir (Bir durumdan çıkışa neden olan muhtemel geçişler, kendi çevresinden kaynaklanmaya ek olarak, atalarının çevresinden kaynaklanmaktadır Şekil 18 de ayrıca varsayılan bir çelişki mevcuttur (β ile B ye girme) Şekil 18 27

Diklik: Bağımsızlık ve eşgüdüm: Bir önceki bölüm sadece durumların XOR ayrıştırmasını temsil etmektedir. Burada AND ayrıştırması ele alınacaktır (Durum şemalarında bu, kısa çizgilerle fiziksel olarak bir kutunun bileşenlerine bölünmesi şeklinde gösterilecektir) Y = A ve D nin dik çarpımı B: A için varsayılan durum F: D için varsayılan durum α olayı olursa; Eş-zamanlı olarak B C, F G (senkronizasyon) µ olayı olursa; Sadece F E (bağımsızlık) Şekil 19 28

Diklik: Bağımsızlık ve eşgüdüm: Şekil 20 de Şekil 19 un AND kullanılmadığı durumdaki eşdeğeri verilmiştir. 6 durum var (3 x 2) 1000 x 1000 1000000!!! Şekil 19 da durumlar tamamen bağımsız değil! (β in G!) A ve D birbirinden haberdar olmalı! Şekil 20 29

Diklik: Bağımsızlık ve eşgüdüm: Y için uygun bir yer bulamama sorunu var Çarpım Y durumu, A ve D nin sınırları dışında ve Z süper durumuna ait bir kutuda gösterilir Genelde Şekil 21b deki gibi kullanılır Şekil 21 30

Diklik: Bağımsızlık ve eşgüdüm: Şekil 22 31

Diklik: Bağımsızlık ve eşgüdüm: δ : J (B,E) α : K (C,F) C okla, F varsayılan v: J (B,F) β : L C (D bir önceki durumunda) w: (B, G) K ε: A X D durumundan şartsız çıkış Şekil 23 Şekil 24 32

Diklik: Bağımsızlık ve eşgüdüm: Şekil 25 te kronometre göstergesinin detaylandırılmış hali gösterilmektedir. regular, lap: iki farklı gösterge biçimi zero: kronometrenin çalışmadığı başlangıç durumu Şekil 25 33

Diklik: Bağımsızlık ve eşgüdüm: Diklik Citizen saatinde yüksek seviyelerde de görülür. Şekil 26 da pil takma ve çıkarmayı hesaba katan yukarıdan aşağıya saat belirtimleri gösterilmiştir. alive durumu: 6 dik durumu içerir: Şekil 26 Şekil 27 34

Diklik: Bağımsızlık ve eşgüdüm: Şekil 28 Şekil 27 nin ayrıntılı gösterimi 35

Diklik: Bağımsızlık ve eşgüdüm: b ve d nin ikisine birden basıldığında bip sesi (aynı anda basılamadığı varsayılıyor) Şekil 29. Diğer durumlardan bağımsız olduğu için Şekil 30 daki gibi dik bir yapıda verilebilir. Şekil 29 Şekil 30 36

Şekil 31 37

Şekil 32 38

Ek Durum Şeması Özellikleri: Şart ve Seçimi Dahil Etmek Şekil 33a ΞŞekil 33b Topoloji çok karmaşık Şekil 33c (Ayrıntılar ayrıca belirtilmeli) Şekil 33 39

Ek Durum Şeması Özellikleri: Şart ve Seçimi Dahil Etmek Şekil 34 40

Ek Durum Şeması Özellikleri: Gecikmeler ve Zaman Aşımları Mevcut tanım: timeout(event, number) Ör: timeout(entered date, 120) t1 < t2: alt ve üst zaman sınırları Şekil 35 41

Ek Durum Şeması Özellikleri: Unclustering (Ayrıklaştırma) Avantajlar - Komşuluk küçük, - İlgilenilen bölge geniş Şekil 36 42

Olaylar ve Etkinlikler: Saf durum şemaları sistemin kontrol parçasını gösterirler Olay üretme ve şartların değerini değiştirme yeteneğinden yoksunlardır Geçiş etiketine eklenen /S ile olay ifade edilebilir. Olaylar: salise mertebesinde, aniden oluşuyor (Ör: İşaret göndermek) Etkinlikler: Yapılması belirli bir süre alır (Ör: Bipleme, gösterme, uzun hesaplamalar) Durum şemalarının etkinlikleri kontrol edebilmesi için, iki özel olaya ihtiyaç vardır (etkinlikleri başlatmak(start) ve durdurmak(stop) için) start (X), stop(x), active(x) 43

Olaylar ve Etkinlikler: (C,D) durumundayken α olayı (B,D), S ve V olayları eş zamanlı olarak gerçekleşir B den F ye geçerken S gerçekleşmez γ olayı olursa; - B (C,E) - W ve T olayları, - β olayı olur (sol bileşen için çıkış, sağ bileşen için giriş) - U olayı da eş zamanlı olur Şekil 37 44

Olaylar ve Etkinlikler: Burada etkinliklerin doğru belirtim biçimlerini bulma problemi ile ilgilenilmiyor Etkinlikler sıralı bir yapıda ise, geleneksel programlama dili kullanılabilir Etkinliklerin kendisi tepkisel bir davranış sergiliyorsa, bunu kontrol etmek için ayrık dahili durum şemaları kullanılabilir. (Etkinliklerin hiyerarşisi) STATEMATE1 sistemi etkinlikler için grafiksel bir biçimlendirme (etkinlik şemaları) ve bunlara karşı gelen sistemin fiziksel / yapısal boyutları için modül şemaları sağlıyor (Her iki şema da durum şemaları kullanarak, davranışsal durumlarla uyumlu olacak şekilde tasarlanmış - Çalışmanın kapsamı dışında) 45

Biçimlendirmenin muhtemel uzantıları: Parametreleştirilmiş durumlar Çoğu durumda (Ör: Alarm 1&2 Şekil 31) farklı durumlar aynı iç yapıya sahipler Parametreleştirme ile durumlardan tasarruf sağlanıyor (Şekil 39) Şekil 39 Parametreleştirilmiş OR Şekil 38 46

Biçimlendirmenin muhtemel uzantıları: Parametreleştirilmiş durumlar -Şekil 40 da 1000 adet telefonun merkezi bir ağ ile bağlantısı gösterilmiştir. - Karmaşık parametreleştirmeleri belirtmek için en iyi yol genelde değişkenlere ve zengin veri yapılarına sahip programlama dilleri kullanmaktır. Şekil 40 Parametreleştirilmiş AND 47

Biçimlendirmenin muhtemel uzantıları: Örtüşen durumlar Durumlar tamamen ağaç yapısında olmak zorunda değil Gösterilen durum şemaları XOR yapısında Şekil 41 de ise A ve D arasında; XOR değil, OR ilişkisi var Şekil 41 48

Biçimlendirmenin muhtemel uzantıları: Örtüşen durumlar A: Belli şartlarsa bağımsız, diğer durumlarda B ile dik bir durum olsun Şekil 42 ve 43 te iki farklı gösterilim verilmiştir. Şekil 42: A iki kez gözüküyor Şekil 43: B de özel bir durumla (X) ifade edilmiş Şekil 42 Şekil 43 49

Biçimlendirmenin muhtemel uzantıları: Örtüşen durumlar Önerilen gösterim biçimi (Şekil 44) β : A1 x B durumuna giriş (varsayılan C,E) α : Yalnızca A2 durumuna giriş ε : D durumundan çıkış (B den bir durumla eşleşsin ya da eşleşmesin) w: D durumundan çıkış (B deyken) A nın alt-durumlarına girişte belirsizlik var! Ör: D Şekil 44 50

Biçimlendirmenin muhtemel uzantıları: Örtüşen durumlar Önerilen gösterim biçimi (Şekil 45) γ : (D,E) ye giriş δ : sadece D ye giriş Şekil 45 51

Biçimlendirmenin muhtemel uzantıları: Temporal Logic i dahil etmek Özyineli ve Olasılıklı durum şemaları 52

Durum şemalarının semantiği: Durum şeması biçimlendirmesi, biçimsel semantik sağlama konusunda zorlanmaktadır. Temel zorluk derinlik ve diklikten kaynaklanmamaktadır (A,B) durumundayken α (C,D) (C,D) durumundayken α (E,H) veya (G,F) olmalı (E,F) değil! Şekil 46 53

Kaynaklar: [1]: David Harel, Statecharts: A visual formalism for complex systems, Science of Computer Programming, Vol. 8, Issue 3 (June 1987), Pages: 231-274 [2] http://en.wikipedia.org/wiki/state_diagram 54