Mission critical embedded language
        Posted  
        
            by 
                Moe
            
        on Programmers
        
        See other posts from Programmers
        
            or by Moe
        
        
        
        Published on 2011-11-15T19:24:08Z
        Indexed on 
            2011/11/16
            2:07 UTC
        
        
        Read the original article
        Hit count: 575
        
Maybe the question sounds a bit strange, so i'll explain a the background a little bit.
Currently i'm working on a project at y university, which will be a complete on-board software for an satellite. The system is programmed in c++ on top of a real-time operating system. However, some subsystems like the attitude control system and the fault detection and a space simulation are currently only implemented in Matlab/Simulink, to prototype the algorithms efficiently. After their verification, they will be translated into c++.
The complete on-board software grew very complex, and only a handful people know the whole system. Furthermore, many of the students haven't program in c++ yet and the manual memory management of c++ makes it even more difficult to write mission critical software.
Of course the main system has to be implemented in c++, but i asked myself if it's maybe possible to use an embedded language to implement the subsystem which are currently written in Matlab. This embedded language should feature:
- static/strong typing and compiler checks to minimize runtime errors
 - small memory usage, and relative fast runtime
 - attitude control algorithms are mainly numerical computations, so a good numeric support would be nice
 - maybe some sort of functional programming feature, matlab/simulink encourage you to use it too
 
I googled a bit, but only found Lua. It looks nice, but i would not use it in mission critical software. Have you ever encountered a situation like this, or do you know any language, which could satisfies the conditions?
EDIT: To clarify some things: embedded means it should be able to embed the language into the existing c++ environment. So no compiled languages like Ada or Haskell ;)
© Programmers or respective owner