Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Tom Hawkins <tomahawkins <at> gmail.com>
Subject: ANN: atom-0.0.2
Newsgroups: gmane.comp.lang.haskell.cafe
Date: Sunday 26th April 2009 20:39:17 UTC (over 8 years ago)
Atom is a DSL in Haskell for designed hard realtime embedded programs.
 At Eaton, we are using it to control hydraulic hybrid refuse trucks
and shuttle buses.  After my talk at CUFP
(http://cufp.galois.com/2008/schedule.html),
a few people inquired
about atom -- I finally had a chance to upload it to Hackage.

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/atom-0.0.2

Some new enhancements:
- A simple rule scheduler for load balancing.
- Signal probing for debug and data logging.
- Functional coverage to monitor which rules have executed.
- Started integration with the Yices SMT solver for bounded model checking.

Experiences with our Eaton project:
- 5K lines of Haskell/atom replaced 120K lines of matlab, simulink,
and visual basic.
- 2 months to port simulink design to atom.
- 3K lines of atom generates 22K lines of embedded C.
- Design composed of 450 atomic state transition rules.
- Rules with execution periods from 1ms to 10s all scheduled at
compile time to a 1 ms main loop.
- 3 minute compilation time from atom source to ECU.
- Atom design clears electronic/sw testing on first pass.
- Currently in vehicle testing with no major issues.


Tom
 
CD: 3ms