Blog

UMTSM — Durum Makinelerinden Deterministik Reaktif Yürütme Platformlarına

Yayınlanma tarihi 2026-04-18

Gömülü sistemlerde, robotik ve otonom platformlarda kontrol mantığı katı bir gereksinimler kümesini karşılamalıdır: determinizm, öngörülebilirlik, test edilebilirlik, gerçek zamanlı davranış ve ölçekte sürdürülebilirlik.

Klasik Sonlu Durum Makineleri (DSM), bu mantığı modellemek için uzun süredir kullanılmaktadır. Ancak sistemler karmaşıklaştıkça klasik DSM modeli çökmekte — ve bu çöküş sert olmaktadır. Bu yazıda UMTSM'nin ne olduğunu, neden ihtiyaç duyulduğunu ve modern reaktif sistemlerde durum makinelerinin rolünü nasıl yeniden tanımladığını açıklıyorum.


Klasik DSM'lerin Sorunu

Baştan ele almaya değer yaygın bir yanılgı var:

"Durum makineleri davranışı modelller."

Evet, modellerler — ama yalnızca kısmen. Ve bu kısmi kapsam, ölçekte gerçek sorunlar yaratır.

Durum Odaklı Düşünce Durum Patlamasına Yol Açar

Çoğu DSM, Boşta, Çalışıyor, Hata, Kurtarma gibi durumlarla başlayarak tasarlanır; ardından bu durumlara davranış eklenir. Zamanla durumlar aşırı yüklenir, geçişler karmaşıklaşır ve mantık kontrolsüz biçimde yayılır:

  • Yüksek döngüsel karmaşıklık
  • Zorlu test ve doğrulama
  • Kırılgan, güvenilmez sistemler

Yapılandırılmış Veri Farkındalığı Yoktur

Geleneksel DSM'ler olay → geçiş mantığıyla çalışır. Ancak gerçek dünya sistemleri veri koşullarına yoğun biçimde bağımlıdır:

if temperature > 30 AND battery < 20 → act

Yapılandırılmış veri entegrasyonu olmayan DSM'ler, mantığı durum işleyicileri içinde gizler, örtük koşullara dayanır ve zamanla giderek opaklaşır.

Tanımsız Yürütme Semantiği

Belki de en tehlikeli sorun şudur: pek çok DSM implementasyonunda "korumaların ne zaman değerlendirildiği?", "birden fazla geçiş eşleşirse ne olur?" veya "yürütme sırası nedir?" gibi sorular örtük yanıtlara sahiptir — ya da hiç yanıt yoktur. Bu durum determinizm bozukluğuna, tutarsız davranışa ve gerçek anlamda hata ayıklaması zor sistemlere yol açar.


UMTSM Nedir?

UMTSM (Unified Modeling Technologies State Machine — Birleşik Modelleme Teknolojileri Durum Makinesi) şöyle tanımlanır:

Açık yürütme semantiği ve kod üretme yeteneklerine sahip, deterministik, olay güdümlü, hiyerarşik genişletilmiş bir durum makinesi platformu.

Yalnızca bir durum makinesi çerçevesi değildir. Klasik DSM'leri şunlarla genişletir: hiyerarşik modelleme (UML Durum Grafikleri), veriye duyarlı korumalar, açık ve biçimsel bir yürütme modeli, güçlü bir tür sistemi, deterministik geçiş çözümlemesi ve üretim kalitesinde kod üretimi.

Klasik DSM'den UMTSM'ye evrim:

UMTSM DSM Evrimi
UMTSM DSM Evrimi

Temel Tasarım İlkeleri

1. Olay Güdümlü, Veri Yoklamalı Değil

UMTSM katı biçimde şunu izler:

Olay → Değerlendirme → Geçiş

Bir döngüde durum yoklamak yerine, veriler durum makinesinin dışında işlenir. Olay üreticileri — ki bunların kendileri de birer durum makinesi olabilir — anlamlı, semantik açıdan zengin olaylar üretir:

temperature_crossed_threshold
battery_low
gps_lost

Bu ayrışım daha düşük CPU kullanımı, daha iyi sorumluluk ayrımı ve daha net bir sistem mimarisi sağlar.

2. Deterministik Yürütme Modeli

UMTSM biçimsel, altı adımlı bir yürütme döngüsü tanımlar:

UMTSM Yürütme Döngüsü
UMTSM Yürütme Döngüsü
  1. Olayları al
  2. En iç mevcut durumda korumaları değerlendir, yukarıdan aşağıya
  3. Üst durumlarda korumaları değerlendir, içten dışa
  4. Koruma içermeyen veya koruması doğru olan ilk geçişi seç
  5. Tam olarak bir geçişi tetikle
  6. Durumu güncelle

Temel güvence: aynı girdiler ve zamanlama verildiğinde sistem her zaman aynı çıktıları üretir.

3. Hiyerarşik ve Eşzamanlı Modelleme

UMTSM UML Durum Grafiği semantiğini tam olarak destekler:

  • İç içe durumlar
  • Bileşik durumlar
  • Ortogonal bölgeler (gerçek paralel yürütme)
  • Çatallama ve Birleştirme senkronizasyolari
  • Derin ve sığ geçmiş bilgisine g,re davranma
  • Giriş/Çıkış noktaları
  • Durum makinası veya ortogonal bölgeleri sonlandırma

Bu özellikler; karmaşık iş akışlarını, eşzamanlı alt sistemleri ve aksi takdirde onlarca düz durum gerektiren katmanlı kontrol mantığını modellemeye olanak tanır.

4. Koruma Tabanlı Karar Verme

UMTSM'deki geçişler tam ve ifade gücü yüksek bir sözdizimi izler:

event_a, event_b [temperature > 30 && is_daytime] -> monitoring / open_windows(), start_ventilation();

Korumalar saf ifadelerdir, paylaşılan veri üzerinde çalışır ve deterministik biçimde değerlendirilir. Gizli yan etkiler, örtük sıralama yoktur.

5. do ve complete ile Kontrollü Yürütme

UMTSM, kendi kendini değerlendiren durumlar için güçlü bir örüntü sunar:

state check_temperature
{
    do / evaluate_temperature;
    [is_high] --> check_temperature / start_cooling();
    [is_low]  --> check_temperature / start_heating();
}

do eylemi çalışır, örtük bir complete olayı yayar, korumalar değerlendirilir ve durum kendini yeniden başlatabilir. Bu, kontrolsüz yoklama olmaksızın kontrollü bir yürütme döngüsü oluşturur — gerçek zamanlı sistemler için kritik bir ayrımdır.


Mimariye Genel Bakış

Tipik bir UMTSM tabanlı sistem temiz katmanlı bir mimari izler:

UMTSM Mimarisi
UMTSM Mimarisi

Ayrım açıktır:

İlgi AlanıKonum
Veri işlemeOlay üreticileri
Kontrol mantığıDurum makinesi
Yürütme modeliUMTSM motoru
EtkilerEylemler / çıktılar

Güçlü Tür Sistemi ve Kod Üretimi

UMTSM, C/C++ ile sıkı biçimde entegre olur; temel ilkel türleri, struct, union, enum, dış türler, isim alanları ve genel/paylaşılan verileri destekler. Bu şunları sağlar:

  • Sorunsuz, tür güvenli kod üretimi
  • Mevcut kod tabanlarıyla doğrudan entegrasyon
  • Çalışma zamanında tür silme veya gizli dönüşüm yok

Determinizm ve Çakışma Çözümü

UMTSM katı bir kural uygular:

Her değerlendirme döngüsünde en fazla bir geçiş tetiklenebilir.

Çakışma çözüm stratejileri açık ve yapılandırılabilirdir:

  • Katı — belirsizlik varsa derleme zamanı hatası
  • Öncelik tabanlı — geçiş başına açık sayısal öncelik
  • İlk eşleşen — sıralı değerlendirme, geçen ilk koruma kazanır

Bu, deterministik olmayan DSM implementasyonlarından kaynaklanan hata sınıfını ortadan kaldırır.


Diğer Yaklaşımlarla Karşılaştırma

ÖzellikKlasik DSMUML Durum GrafikleriUMTSM
Hiyerarşi
Veriye duyarlı korumalar
Biçimsel yürütme semantiğiKısmi
Determinizm garantisiKısmi
Çakışma çözüm politikasıÖrtükTanımsızAçık
Üretim kod üretimiSınırlıSınırlı
Gerçek zamanlı uygunlukKısmi
Olay güdümlü model

Temel Kavrayış

UMTSM, söylemesi kolay ama içselleştirmesi zor temel bir mimari dönüşüm yapar:

Durum makineleri tüm verileri takip etmekle sorumlu değildir.

Bunun yerine, veri değişiklikleri olay üretir ve olaylar durum makinesini yönlendirir. Bu, DSM tabanlı sistemlerdeki en yaygın başarısızlık biçimini önler: durum makinesini hiçbir zaman taşımak için tasarlanmadığı veri farkındalığıyla aşırı yüklemek, neredeyse test edilmesi imkânsız örtük bağımlılıklar ve gizli bağlaşım oluşturmak.


Gelecek Yönelimler

UMTSM, birleşik bir reaktif platform olmaya doğru evrilmektedir. Planlanan özellikler:

  • İfade motoru — fonksiyon tabanlı korumaları satır içi ifadelerle değiştirme
  • Parametreli olaylar — koruma ifadelerine doğrudan yazılan yükleri taşıyan olaylar
  • Veri akışı modellemesi — reaktif veri hatlarını olay üretimiyle entegre etme
  • Derleme zamanı analizi — erişilebilirlik, kilitlenme özgürlüğü ve koruma kapsamının statik doğrulaması
  • Reaktif hat entegrasyonu — UMTSM'yi akış tabanlı mimarilerle köprüleme

Sonuç

UMTSM durum makinelerinin yerini almaz. Rollerini yeniden tanımlar — statik davranışsal diyagramlardan, modelleme, uygulama ve gerçek zamanlı dağıtımı köprüleyen deterministik yürütme sistemlerine.

Yol gösterici ilke basittir:

Durum makineniz tüm dünyayı anlamaya çalışmamalıdır. Anlamlı olaylara — deterministik biçimde — tepki vermelidir.

UMTSM tam olarak bunun için inşa edilmiştir.