Advanced Hard Real-Time Operating System, The Maruti Project.
Abstract
To support applications in a real time system, conventional application development techniques and tools must be augmented with support for specification and extraction of resource requirements and timing constraints, The application development system provides a set of programming tools to support and facilitate the development of real time applications with diverse requirements. The Maruti Programming Language (MPL) is used to develop individual program modules. The Maruti Configuration Language (MCL) is used to specify how individual program modules are to be connected together to form an application and the details of the hardware of which the application is to be executed. In the current version, the base programming language used is ANSI C. MPL adds modules, shared memory blocks, critical regions, typed message passing, periodic functions, and message invoked functions to the C language. To make analyzing the resource usage of programs feasible, certain C idioms are not allowed in MPL; in particular, recursive function calls are not allowed nor are unbounded loops containing externally visible events, such as message passing and critical region transition. MPL Modules are brought together into as an executable application by a specification file written in the Maruti Configuration Language (MCL). The MCL specification determines the application's hard real time constraints, the allocation of tasks, threads, and shared memory blocks, and all message passing connections. MCL is an interpreted C-like language rather than a declarative language, allowing the instantiation of complicated subsystems using loops and subroutines in the specification.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 01, 1997
- Accession Number
- ADA320752
Entities
People
- Ashok Agrawala
- Satish K. Tripathi
Organizations
- University of Maryland