Modeling and Schedulability Analysis of Hard Real-Time Distributed Systems Based on Ada Components [chapter]

Julio L. Medina, J. Javier Gutiérrez, José M. Drake, Michael González Harbour
2002 Lecture Notes in Computer Science  
The paper proposes a methodology for modeling distributed real-time applications written in Ada 95 and its Annexes D and E. The real-time model obtained is analyzable with a set of tools that includes multiprocessor priority assignment and worst-case schedulability analysis for checking hard real-time requirements. This methodology models independently the platform (processors, communication networks, operating systems, or peripheral drivers), the logical components used (processing
more » ... , shared resources or remote components), and the real-time situations of the application itself (real-time transactions, workload or timing requirements). It automates the modeling of local and remote access to distributed services. The methodology is formulated with UML, and therefore the software logic design as well as its real-time model may be represented inside any UML CASE tool. The real-time model obtained is analyzable with a set of tools that includes multiprocessor priority assignment and worst-case schedulability analysis for checking hard real-time requirements. procedure calls in distributed Ada real-time systems [5] , and in [6] we focused on defining real-time capabilities for the Ada 95 Distributed Systems Annex in order to allow the development of this kind of applications in a simpler and potentially more efficient way than with other standards like real-time CORBA. From another point of view, Ada has been conceived as an object-oriented language to facilitate the design of reusable modules in order to build programs that use previously developed components. To design component-based Ada real-time applications it is necessary to have strategies for modeling the real-time behavior of these components, and also tools for analyzing the schedulability of the entire application, to find out whether its timing requirements will be met or not. With the possibility of distribution in real-time applications development, we also need to address issues like the modeling of the communications, or the assignment of priorities to the tasks in the processors and to the messages in the communication networks. On these premises we can think about identifying and modeling basic Ada components that can be useful in the development of real-time distributed programs and for which the schedulability analysis tools can be applied. This paper proposes a methodology for modeling and performing schedulability analysis of real-time distributed applications, built with basic Ada logical components. The methodology has been designed to facilitate the development of systems written in Ada 95 and using Annexes D and E. The main aspects of the methodology are the following. -It is based on independently modeling: the platform (i.e., processors, communication networks, operating systems, peripheral drivers), the logical components used (i.e., processing requirements, shared resources, other components), and the real-time situations of the application itself (event sequences, real-time transactions, workload, timing requirements) that provide the elements for the analysis. -It models the real-time behavior (timing, concurrency, synchronization, etc.) of the Ada logical entities in such a way that there is a complete parallelism between the structure of the code written and the real-time model obtained. -It allows extracting a model of each high-level logical component, via the instantiation of a generic parameterized real-time model. When all the components are combined together and the associated generic parameters are defined, an analyzable model of the overall system is obtained. -It automates the modeling of local or remote access to distributed services. If a procedure of a remote call interface is invoked from a component assigned to the same processor node the procedure is modeled as executed by the calling thread; but if the same procedure is invoked from a component assigned to a remote node, the corresponding communication model (with marshalling, transmission, dispatching, and unmarshalling of messages) is automatically included into the real-time situation model that is being analyzed. -The modeling components as well as the software artifacts of the application are represented and described with UML. The paper will be organized as follows. Section 2 presents the conceptual environment in which real-time analysis and modeling are considered. In Section 3, we describe the basic structure of the UML real-time view in which our models are hosted, the main abstractions, and the model of the Component class, which is the
doi:10.1007/3-540-48046-3_22 fatcat:k6sajxrab5forchdfwpceyqzrm