Handbook of theoretical computer science (vol. B)
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
The embedded machine: predictable, portable real-time code
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Real-Time Systems: Design Principles for Distributed Embedded Applications
Real-Time Systems: Design Principles for Distributed Embedded Applications
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications
The Real-Time Specification for Java
Computer
What's Ahead for Embedded Software?
Computer
Scheduling real-time applications in an open environment
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
HLS: A Framework for Composing Soft Real-Time Schedulers
RTSS '01 Proceedings of the 22nd IEEE Real-Time Systems Symposium
Towards Compositionality in Real-Time Resource Partitioning Based on Regularity Bounds
RTSS '01 Proceedings of the 22nd IEEE Real-Time Systems Symposium
Information and Computation
Benefits and challenges for platform-based design
Proceedings of the 41st annual Design Automation Conference
Transparent distribution of real-time components based on logical execution time
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Real-time interfaces for composing real-time systems
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Java takes flight: time-portable real-time programming with exotasks
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Composition Techniques for Tree Communication Schedules
ECRTS '07 Proceedings of the 19th Euromicro Conference on Real-Time Systems
Compositional real-time scheduling framework with periodic model
ACM Transactions on Embedded Computing Systems (TECS)
Regular Specifications of Resource Requirements for Embedded Control Software
RTAS '08 Proceedings of the 2008 IEEE Real-Time and Embedded Technology and Applications Symposium
Automata based interfaces for control and scheduling
HSCC'07 Proceedings of the 10th international conference on Hybrid systems: computation and control
GOAL: a graphical tool for manipulating Büchi automata and temporal formulae
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
The embedded systems design challenge
FM'06 Proceedings of the 14th international conference on Formal Methods
Towards a time-triggered schedule calculation tool to support model-based embedded software design
EMSOFT '09 Proceedings of the seventh ACM international conference on Embedded software
A proposal for real-time interfaces in SPEEDS
Proceedings of the Conference on Design, Automation and Test in Europe
Formal verification of hybrid systems
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Interfaces for control components
FORMATS'11 Proceedings of the 9th international conference on Formal modeling and analysis of timed systems
ICCPS '12 Proceedings of the 2012 IEEE/ACM Third International Conference on Cyber-Physical Systems
Input-output robustness for discrete systems
Proceedings of the tenth ACM international conference on Embedded software
GOAL for games, omega-automata, and logics
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.01 |
We present a framework for component-based design and scheduling of real-time embedded software. Each component has a clearly specified interface that includes the methods used for sensing, computation, and actuation, along with a requirement given as a regular set of macro-schedules. Each macro-schedule is an infinite sequence that specifies, for every time slot, the set of component methods invoked in that slot. The macro-scheduler composes the specifications of all the components, along with the platform specification that constrains which methods can be executed within a single slot, to generate a feasible macro-schedule. Within a slot, we use logical execution time semantics, and this micro-scheduling is implemented on top of a native priority-based scheduler. With this approach, each component can be specified and analyzed in a platform-independent way, and at the same time, the performance can vary with changing load and changing processing speed. We describe an implementation using Real-Time Java. Scheduling specifications can be given as periodic tasks, or using temporal logic, or as omega-automata. Components can be added dynamically, and non-real-time components are allowed. We demonstrate the benefits of the approach using case studies.