A new approach to generic functional programming
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A survey of rollback-recovery protocols in message-passing systems
ACM Computing Surveys (CSUR)
Portable Checkpointing for Heterogeneous Archtitectures
FTCS '97 Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS '97)
Compiler Support for Automatic Checkpointing
HPCS '02 Proceedings of the 16th Annual International Symposium on High Performance Computing Systems and Applications
Hume: a domain-specific language for real-time embedded systems
Proceedings of the 2nd international conference on Generative programming and component engineering
Single Assignment C: efficient support for high-level array operations in a functional setting
Journal of Functional Programming
Basic Concepts and Taxonomy of Dependable and Secure Computing
IEEE Transactions on Dependable and Secure Computing
SWIFT: Software Implemented Fault Tolerance
Proceedings of the international symposium on Code generation and optimization
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Shared memory multiprocessor support for functional array processing in SAC
Journal of Functional Programming
Slightly-off-specification failures in the time-triggered architecture
HLDVT '02 Proceedings of the Seventh IEEE International High-Level Design Validation and Test Workshop
SAC: a functional array language for efficient multi-threaded execution
International Journal of Parallel Programming
Embedded functional programming in Hume
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
A Framework for Proactive Fault Tolerance
ARES '08 Proceedings of the 2008 Third International Conference on Availability, Reliability and Security
Proactive process-level live migration in HPC environments
Proceedings of the 2008 ACM/IEEE conference on Supercomputing
Dependability and Robustness: State of the Art and Challenges
STFSSD '09 Proceedings of the 2009 Software Technologies for Future Dependable Distributed Systems
Proactive Fault Detection Schema for Enterprise Information System Using Statistical Process Control
Proceedings of the Symposium on Human Interface 2009 on ConferenceUniversal Access in Human-Computer Interaction. Part I: Held as Part of HCI International 2009
Solving time-dependent planning problems
IJCAI'89 Proceedings of the 11th international joint conference on Artificial intelligence - Volume 2
Streaming networks for coordinating data-parallel programs
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Selective Recovery from Failures in a Task Parallel Programming Model
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
Hi-index | 0.00 |
Embedded computing is characterised by the limited availability of computing resources. Further, embedded systems are often used in safety-critical applications with real-time constraints. Thus, the software development has to follow rigorous procedures to minimise the risk of system failures. However, besides the inherent application complexities, there is also an increased technology-based complexity due to the shift to concurrent programming of multicore systems. For such systems it is quite challenging to develop safe and resource-efficient systems. In this paper we give a plea for the need of better software development tools to cope with this challenge. For example, we outline how compilers can help to simplify the writing of fault-tolerant and robust software, which keeps the application code more compact, comprehensive, and maintainable. We take a rather extreme stand by promoting a functional programming approach. This functional programming paradigm reduces the complexity of program analysis and thus allows for more efficient and powerful techniques. We will implement an almost transparent support for robustness within the SAC research compiler, which accepts a C-like functional program as input. Compared to conventional approaches in the field of automatic software-controlled resilience, our functional setting will allow for lower overhead, making the approach interesting for embedded computing as well as for high-performance computing.