Tool System for Testing Real-Time Constraints for Modular Computational System Configurations

  • PDF / 943,305 Bytes
  • 13 Pages / 612 x 792 pts (letter) Page_size
  • 2 Downloads / 162 Views

DOWNLOAD

REPORT


System for Testing Real-Time Constraints for Modular Computational System Configurations A. B. Glonina* Department of Computational Mathematics and Cybernetics, Moscow State University, Moscow, 119991 Russia Received December 25, 2019; in final form, April 8, 2020; accepted April 8, 2020

Abstract—The problem of testing real-time constraints for modular computational systems (MCSes) is exemplified by systems of integrated modular avionics. The requirements to the software for testing these constraints are formulated. An approach to modeling MCSes based on the mathematical apparatus of timed automata with suspended timers is described, and a tool system that implements this approach is presented. An experimental study is performed of the parameterized MCS model entering the developed tool system. The model is tested with the CAD IMA Scheduler used in Russian industry. Keywords: networks of timed automata, integrated modular avionics,computation scheduling, verification. DOI: 10.3103/S0278641920030036

1. INTRODUCTION Modular architecture is widely used in current and planned on-board computational systems. In this work, we consider modular computational systems (MCSes) exemplified by systems of integrated modular avionics (IMA). Modular computational systems, IMA and otherwise, consist of standardized units containing one or several processors (usually multicore). Units interact via a switched network with virtual channels. The workload at the processor cores consists of a set of applied tasks, all of which are periodic: one task, referred to as a job, must be executed in one period. The tasks are clustered in partitions, groups of logically related applied tasks interacting via a common memory. One partition usually corresponds to a single application. Each partition is associated with a processor core that is part of the processor. Several partitions can be associated to a single core. In a scheduling interval, we prescribe a static schedule of windows for the processor core, i.e., time segments during which the jobs of a certain partition can be executed. In most cases, the scheduling interval in which the window schedule is constructed is equal to the least common multiple of the periods of all jobs of an MCS. Each partition has its own scheduler that sets the jobs for execution inside the partition windows. Dynamic schedulers are normally used in IMA systems. The ARINC 653 [1] standard in particular uses a dynamic scheduler with fixed-priority preemptive scheduling. It allows different scheduling algorithms to be used in different partitions. The most (maximum) time needed for a single job of a current task to be executed on the core of a given type is known for each task and each type of core. In reality, the time of job execution can be shorter than this time. In practice [2, 3], however, it is common in computation scheduling to think that the time of execution is fixed on each core and equal to a prescribed value. Each job has a prescribed interval determined by the task period, job number, and shifts of the left and