SORU
12 AĞUSTOS 2009, ÇARŞAMBA


Gerçek zamanlı büyük sistemler için Haskell kullanarak: (nasıl olursa?)?

Eğer gömülü gerçek zamanlı dünya için Haskell güç uygulamak mümkün olup olmadığını anlamak için merak ettim ve Google'da Atom paket bulduk. Karmaşık durumda kod tüm klasik C böcekleri - özgün Haskell kodu takip edilmesi gereken çöküyor, bellek bozulmaları, vb, bu olabilir diye tahmin ediyorum onları neden oldu. Yani, bu sorunun ilk kısmı: "Eğer senin yaşadığın deneyimi olan Atom, nasıl kurtuldun görev hata ayıklama düşük seviyeli hataları derlenmiş C kodu ve sabitleme onlara Haskell orijinal kodu ?"

Atom için biraz daha fazla örnek için aradım, this blog post C sonuç kodu 22KLOC (ve belli ki hiç bir kod:) bahseder, included example Bu bir oyuncak değildir. This this başvurular daha pratik bir kod var, ama bu, burada sona eriyor. Ve bu nedenle ben de" tabi olur, Eğer 300KLOC aralığında üretilen C kodu ile çalışma deneyimlerini paylaşmak olabilir . en ilgimi çekti "büyük koy

Olarak ben bir Haskell çaylak, belli ki belki başka yolları da yaptım bulamadım nedeniyle benim bilinmeyen bilinmeyenler, böylece herhangi bir diğer göstericiler için kişisel gelişim bu alanda büyük takdir olurdu - ve bu ikinci bölümü soru - "ne olur başka pratik yöntemler (varsa) yaparken gerçek zamanlı geliştirme Haskell?". Eğer çok çekirdekli ayrıca resimde ise, bu ekstra bir artı :-)

(Kullanım örnekleri hakkında Haskell kendisi bu amaçla: ne okudum this blog post çöp toplama ve tembellik içinde Haskell yapar oldukça belirleyici olmayan planlama-bilge, ama belki iki yıl bir şeyler değişti. Real world Haskell programming Bu konu için bulabildiğim en yakın) soru

Not:"gerçek zamanlı" üzerinde olurdu daha yakın "sabit zamanlı" - merak ediyorum, eğer mümkünse sağlamak için duraklama zaman zaman ana görev değil yürütme altında 0.5 ms.

CEVAP
12 AĞUSTOS 2009, ÇARŞAMBA


Galois iki şey için Haskell kullanıyoruz:

  • 1-5 ms tepki süreleri makul olduğu yumuşak gerçek zamanlı (OS cihazı katmanları, ağ),. DZD hızlı kod oluşturur ve doğru zamanlamaları elde etmek için GC zamanlayıcı ayarlama desteği var.
  • gerçek zaman sistemleri EDSLs güçlü zamanlama garanti sağlayan diğer diller için kod oluşturmak için kullanılır. E. g. Cryptol, Atom ve Copilot.

Yani EDSL ayırt etmek için dikkatli olun () yardımcı Pilot ya da Atom, ana dili (Haskell).


Kritik sistemler bazı örnekler, ve bazı durumlarda, gerçek zamanlı sistemler, ya da Haskell dan yazılı ya da üretilen, Galois tarafından üretilen.

EDSLs

Sistemleri

  • HaLVM -- gömülü ve mobil uygulamalar için hafif bir microkernel
  • TSE -- çapraz etki alanı (güvenlik düzeyi) ağ cihaz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • esnathesinger

    esnathesinge

    6 NİSAN 2009
  • K-391

    K-391

    23 EKİM 2012