Accession Number : ADA320752

Title :   Advanced Hard Real-Time Operating System, The Maruti Project.

Descriptive Note : Final rept.,

Corporate Author : MARYLAND UNIV COLLEGE PARK DEPT OF COMPUTER SCIENCE

Personal Author(s) : Agrawala, Ashok K. ; Tripathi, Satish K.

PDF Url : ADA320752

Report Date : JAN 1997

Pagination or Media Count : 412

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.

Descriptors :   *REAL TIME, *PROGRAMMING LANGUAGES, *OPERATING SYSTEMS(COMPUTERS), REQUIREMENTS, TOOLS, COMPUTER PROGRAMMING, CONFIGURATIONS, RECURSIVE FUNCTIONS, RESOURCES, EXTRACTION, TRANSITIONS, SUBROUTINES, MESSAGE PROCESSING, LOOPS, PERIODIC FUNCTIONS.

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE