Picproje Elektronik Sitesi

BİLGİSAYAR => Donanım ve Yazılım => Konuyu başlatan: volkanunal - 01 Temmuz 2020, 16:35:47

Başlık: Durum Makineleri Üzerine
Gönderen: volkanunal - 01 Temmuz 2020, 16:35:47
Merhabalar Hocamlar

Uygulamalarınızda (özellikle uptime süresi yüksek olunması gereken yerlerde GSM, Wifili uygulamarınızda) nasıl bir durum makinesi işletiyorsunuz. (Blocking bir yapı olması tercihim değildir)

QP ya da protothreads üzerine çalışmalar yapan var mıdır ? Durumları handle etmek için nasıl bir yapı kullandığınızı merak ediyorum. Cihaz tarafında ayağa kalkma süreci ve sonrasında gelen eventleri işletmek üzerine güzel bir yapı kurmak istiyorum. Bu süreçte var ise deneyimlerinizi dinlemek isterim.

Teşekkür ederim görüşlerini paylaşan herkese.
Başlık: Ynt: Durum Makineleri Üzerine
Gönderen: mustafa_cmbz - 02 Temmuz 2020, 09:42:44
Şevket sucukları :P
Başlık: Ynt: Durum Makineleri Üzerine
Gönderen: mufitsozen - 02 Temmuz 2020, 09:54:04
Alıntı yapılan: volkanunal - 01 Temmuz 2020, 16:35:47... Durumları handle etmek için nasıl bir yapı kullandığınızı merak ediyorum. Cihaz tarafında ayağa kalkma süreci ve sonrasında gelen eventleri işletmek üzerine güzel bir yapı kurmak istiyorum. Bu süreçte var ise deneyimlerinizi dinlemek isterim.

Teşekkür ederim görüşlerini paylaşan herkese.


Konu hem cok genis hemde oldukca derin. Forumda soru cevap ogrenmeniz zor olacaktir.

Standard bir yapi yapmayi ogrenmek isterseniz SDL(Specification and Description Language - ITU Z.100) ve bu grupta kullanilan MSC (Message Sequence Chart language) ile sisteminizi modelleyip, Generic Real-Time conceptleri bilerek standard bir RTOS(FreeRTOS gibi) ile uygulamalar yapmaniz gerekecek.
Başlık: Ynt: Durum Makineleri Üzerine
Gönderen: volkanunal - 02 Temmuz 2020, 10:02:28
Alıntı yapılan: mufitsozen - 02 Temmuz 2020, 09:54:04Konu hem cok genis hemde oldukca derin. Forumda soru cevap ogrenmeniz zor olacaktir.

Standard bir yapi yapmayi ogrenmek isterseniz SDL(Specification and Description Language - ITU Z.100) ve bu grupta kullanilan MSC (Message Sequence Chart language) ile sisteminizi modelleyip, Generic Real-Time conceptleri bilerek standard bir RTOS(FreeRTOS gibi) ile uygulamalar yapmaniz gerekecek.

Merhabalar hocam sanırım yanlış anlattım. Şu şekilde özetleyim. Kişisel uygulamalarınız da hiç Quantum Leaps HSM ya da Protothreadlari kullandınız mı ? Ya da yardımcı olarak başka kullandığınız bir frmwrk var mıdır?.

Konunun RTOS ile alakası yok diyebilirim. Bu sistemler için illa OS ihtiyacına maruz kalmak çok mantıklı gelmiyor bana. Siz daha bilgilisinizdir elbet, neden böyle bir düşünceye kapıldınız ?

Başlık: Ynt: Durum Makineleri Üzerine
Gönderen: mufitsozen - 02 Temmuz 2020, 10:09:50
Alıntı yapılan: volkanunal - 02 Temmuz 2020, 10:02:28Merhabalar hocam sanırım yanlış anlattım. Şu şekilde özetleyim. Kişisel uygulamalarınız da hiç Quantum Leaps HSM ya da Protothreadlari kullandınız mı ? Ya da yardımcı olarak başka kullandığınız bir frmwrk var mıdır?.

Konunun RTOS ile alakası yok diyebilirim. Bu sistemler için illa OS ihtiyacına maruz kalmak çok mantıklı gelmiyor bana. Siz daha bilgilisinizdir elbet, neden böyle bir düşünceye kapıldınız ?


RTOS olmadan yapacaginiz (uyduracaginiz) bir sistem scalable olmayacaktir ve cok kirilgan (brittle) olacaktir.


Dusunceye kapilmadim. 20 seneye yakin bir sure Telekom ve Datacom sistemlerinde FSM bazli uygulamalar yaptim.

Gordugum kadari ile siz endustri standard bir calisma arayisi icinde degilsiniz, "guzel" bir yapi olusturmak istiyorsunuz (ne demekse??)


Başlık: Ynt: Durum Makineleri Üzerine
Gönderen: volkanunal - 02 Temmuz 2020, 10:56:13
Anladım hocam çok teşekkür ederim görüşleriniz için.
Başlık: Ynt: Durum Makineleri Üzerine
Gönderen: Tagli - 30 Ağustos 2021, 16:39:38
@volkanunal , konuyu hortlatmış olacağım ama şu sıralarda ben de bu konuyu araştırmaya başladım. Bu adamın (Miro Samek) epey bir eğitim videosu ve bir de kitabı var. Kitabında kendi framework'ünü baya tanıtmış.

Genel olarak, klasik RTOS yaklaşımının bazı sorunları çözerken, yanında kendine özgü bazı yeni sorunları da getirdiğini savunuyor ve buna karşı tamamen state machine tabanlı event driven bir framework öneriyor. Önerdiği (ve de gerçeklediği) yöntem arkada bir RTOS olmadan da çalışabilir ancak kendi sistemi birkaç katmanlı ve istenildiği zaman klasik RTOS ile hibrid kullanılabiliyor.

RTOS'lara özgü sorunları çözmesinin yanı sıra, RTOS'u kaldırmaya gücü yetmeyecek 8-bit işlemciler için de kullanışlı bir çözüm olabilir. Ancak projeyi tamamen farklı bir şekilde düşünmeyi gerektiriyor.

Miro Samek'in Quantum framework'ü çift lisanslı. GPL lisansını ücretsiz olarak kullanabiliyorsunuz ancak yaptığınız ürünle birlikte tüm kodunuzu da vermek zorundasınız. Haliyle ticari projeler için kullanılması pek mümkün değil. Ticari lisans ise ürün cinsi başına $2000 gibi bir fiyattan başlıyor ($15000'e kadar falan gidiyor). Ancak adam kitabında sistemi çok güzel anlatmış. Aynı mantıkla oturup kendi framework'ünüzü de sıfırdan yazıp istediğiniz gibi kullanabilirsiniz.

Bu arada, keşke @mufitsozen hoca da aramızda olsaydı...  :'(