1,085 research outputs found

    A Comparison of Compositional Schedulability Analysis Techniques for Hierarchical Real-Time Systems

    Get PDF
    Schedulability analysis of hierarchical real-time embedded systems involves defining interfaces that represent the underlying system faithfully and then compositionally analyzing those interfaces. Whereas commonly used abstractions, such as periodic and sporadic tasks and their interfaces, are simple and well studied, results for more complex and expressive abstractions and interfaces based on task graphs and automata are limited. One contributory factor may be the hardness of compositional schedulability analysis with task graphs and automata. Recently, conditional task models, such as the recurring branching task model, have been introduced with the goal of reaching a middle ground in the tradeoff between expressivity and ease of analysis. Consequently, techniques for compositional analysis with conditional models have also been proposed, and each offer different advantages. In this work, we revisit those techniques, compare their advantages using an automotive case study, and identify limitations that would need to be addressed before adopting these techniques for use with real-world problems

    Overhead-Aware Compositional Analysis of Real-Time Systems

    Get PDF
    Over the past decade, interface-based compositional schedulability analysis has emerged as an effective method for guaranteeing real-time properties in complex systems. Several interfaces and interface computation methods have been developed, and they offer a range of tradeoffs between the complexity and the accuracy of the analysis. However, none of the existing methods consider platform overheads in the component interfaces. As a result, although the analysis results are sound in theory, the systems may violate their timing constraints when running on realistic platforms. This is due to various overheads, such as task release delays, interrupts, cache effects, and context switches. Simple solutions, such as increasing the interface budget or the tasks’ worst-case execution times by a fixed amount, are either unsafe (because of the overhead accumulation problem) or they waste a lot of resources. In this paper, we present an overhead-aware compositional analysis technique that can account for platform overheads in the representation and computation of component interfaces. Our technique extends previous overhead accounting methods, but it additionally addresses the new challenges that are specific to the compositional scheduling setting. To demonstrate that our technique is practical, we report results from an extensive evaluation on a realistic platform

    CARTS: A Tool for Compositional Analysis of Real-Time Systems

    Get PDF
    This paper demonstrates CARTS, a compositional analysis tool for real-time systems. We presented an overview of the underlying theoretical foundation and the architecture design of the tool. CARTS is open source and available for free download at http://rtg.cis.upenn.edu/carts/

    Process Algebraic Approach to the Schedulability Analysis and Workload Abstraction of Hierarchical Real-Time Systems

    Get PDF
    Real-time embedded systems have increased in complexity. As microprocessors become more powerful, the software complexity of real-time embedded systems has increased steadily. The requirements for increased functionality and adaptability make the development of real-time embedded software complex and error-prone. Component-based design has been widely accepted as a compositional approach to facilitate the design of complex systems. It provides a means for decomposing a complex system into simpler subsystems and composing the subsystems in a hierarchical manner. A system composed of real-time subsystems with hierarchy is called a hierarchical real-time system This paper describes a process algebraic approach to schedulability analysis of hierarchical real-time systems. To facilitate modeling and analyzing hierarchical real-time systems, we conservatively extend an existing process algebraic theory based on ACSR-VP (Algebra of Communicating Shared Resources with Value-Passing) for the schedulability of real-time systems. We explain a method to model a resource model in ACSR-VP which may be partitioned for a subsystem. We also introduce schedulability relation to define the schedulability of hierarchical real-time systems and show that satisfaction checking of the relation is reducible to deadlock checking in ACSR-VP and can be done automatically by the tool support of ERSA (Verification, Execution and Rewrite System for ACSR). With the schedulability relation, we present algorithms for abstracting real-time system workloads

    A Compositional Framework for Avionics (ARINC-653) Systems

    Get PDF
    Cyber-physical systems (CPSs) are becoming all-pervasive, and due to increasing complexity they are designed using component-based approaches. Temporal constraints of such complex CPSs can then be modeled using hierarchical scheduling frameworks. In this paper, we consider one such avionics CPS described by ARINC specification 653-2. The real-time workload in this system comprises of partitions, where each partition consists of one or more processes. Processes incur blocking and preemption overheads, and can communicate with other processes in the system. In this work, we develop techniques for automated scheduling of such partitions. At present, system designers manually schedule partitions based on interactions they have with application vendors. This approach is not only time consuming, but can also result in under utilization of resources. Hence, in this work we propose compositional analysis based scheduling techniques for partitions

    Generic Formal Framework for Compositional Analysis of Hierarchical Scheduling Systems

    Get PDF
    We present a compositional framework for the specification and analysis of hierarchical scheduling systems (HSS). Firstly we provide a generic formal model, which can be used to describe any type of scheduling system. The concept of Job automata is introduced in order to model job instantiation patterns. We model the interaction between different levels in the hierarchy through the use of state-based resource models. Our notion of resource model is general enough to capture multi-core architectures, preemptiveness and non-determinism

    Towards Overhead-Free Interface Theory for Compositional Hierarchical Real-Time Systems

    Get PDF
    Much recent research has been conducted on compositional real-time scheduling framework as the framework becomes a useful fundamental theory for real-time OS-Hypervisor. Much recent research has been conducted on compositional real-time scheduling as the framework becomes a useful fundamental theory for real-time OS-Hypervisor. However, compositional frameworks suffer from abstraction overheads in composing components. In this paper, we classify the composition overheads into i) supply abstraction overhead associated with the supply from a resource provider, and ii) demand abstraction overhead associated with the component workload. Then, we provide sufficient conditions for each abstraction overhead to be eliminated. In addition, this paper provides a heuristic technique that transforms any component to satisfy the sufficient conditions so that the abstraction overheads are minimized. In our comparison, we showed our technique outperforms the prior overhead-reducing CF about 10% at average and other combination techniques about 8% in reducing the overhead

    Research on key techniques of flexible workflow based approach to supporting dynamic engineering design process

    Get PDF
    Error on title page - correct year of award is 2015 not 2013.Engineering design process (EDP) is a highly dynamic and creative process, and the capability in managing an EDP is considered as a major differentiating factor between competing enterprises. The most important prerequisite to establish an engineering design process excellence is a proper management of all the design process activities and the associated information. The most important impact in recent years on the EDP and on the activities of designers has come from computer-based data processing. Workflow, the automation of a business processes in whole or part, is a useful tool for modelling and managing a business process which can be reprensented by a workflow model (computerized process definition). By considering the dynamic characteristics of EDP, an EDP management system must be flexible enough to support the creative and dynamic EDP. After the introduction of engineering design process and its new trend, as well as flexible workflow technology, reviews of both engineering design process and its supporting flexible workflow technology shows that there is a need for a holistic framework to automate and coordinate design activities in the creative and dynamic EDP, and the flexible workflow technology should also be improved comprehensively in flexibility and intelligence in order to support better engineering design management. By introducing the relations between the EDP and flexible workflow, a virtual workflow and an autonomic flexible workflow built upon autonomic computing is investigated, and an innovative engineering design process management framework based on multi-autonomic objects flexible workflow is proposed. For the flexible workflow modelling in the framework, a dynamic instance-based flexible workflow modelling method is proposed for multi-autonomic objects flexible workflow. In order to improve the intelligence of flexible workflow, after examining the principle of flexible workflow intelligence in flexible workflow, a new flexible workflow autonomic object intelligence algorithm based on both extended Mamdani fuzzy reasoning and neural network is proposed, weighted fuzzy reasoning algorithm, as well as precise and fuzzy hybrid knowledge reasoning algorithm is designed; a bionic flexible workflow adaptation algorithm is proposed to improve the intelligence of autonomic object flexible workflow further. According to the characteristic of EDP, such as cross-enterprises and geographical distribution, and in order to realize the flexible execution of distributed flexible workflow engine, a distributed flexible workflow engine architecture based on web service is proposed and a flexible workflow model description method based on extended WSDL (Web Service Description Language) and BPEL4WS (Business Process Execution Language for Web Services) is proposed. A flexible workflow prototype system supporting engineering design process is implemented according to the proposed EDP management framework in Microsoft VS.Net 2005 environment. The framework is demonstrated by the application in an EDP of a MTO company, and it shows that the proposed framework can support the creative and dynamic process in an efficient way. Finally, the strengths and weakness of the framework as well as the prototype system is discussed based on the results of the evaluation, and the proposed areas of future work are given.Engineering design process (EDP) is a highly dynamic and creative process, and the capability in managing an EDP is considered as a major differentiating factor between competing enterprises. The most important prerequisite to establish an engineering design process excellence is a proper management of all the design process activities and the associated information. The most important impact in recent years on the EDP and on the activities of designers has come from computer-based data processing. Workflow, the automation of a business processes in whole or part, is a useful tool for modelling and managing a business process which can be reprensented by a workflow model (computerized process definition). By considering the dynamic characteristics of EDP, an EDP management system must be flexible enough to support the creative and dynamic EDP. After the introduction of engineering design process and its new trend, as well as flexible workflow technology, reviews of both engineering design process and its supporting flexible workflow technology shows that there is a need for a holistic framework to automate and coordinate design activities in the creative and dynamic EDP, and the flexible workflow technology should also be improved comprehensively in flexibility and intelligence in order to support better engineering design management. By introducing the relations between the EDP and flexible workflow, a virtual workflow and an autonomic flexible workflow built upon autonomic computing is investigated, and an innovative engineering design process management framework based on multi-autonomic objects flexible workflow is proposed. For the flexible workflow modelling in the framework, a dynamic instance-based flexible workflow modelling method is proposed for multi-autonomic objects flexible workflow. In order to improve the intelligence of flexible workflow, after examining the principle of flexible workflow intelligence in flexible workflow, a new flexible workflow autonomic object intelligence algorithm based on both extended Mamdani fuzzy reasoning and neural network is proposed, weighted fuzzy reasoning algorithm, as well as precise and fuzzy hybrid knowledge reasoning algorithm is designed; a bionic flexible workflow adaptation algorithm is proposed to improve the intelligence of autonomic object flexible workflow further. According to the characteristic of EDP, such as cross-enterprises and geographical distribution, and in order to realize the flexible execution of distributed flexible workflow engine, a distributed flexible workflow engine architecture based on web service is proposed and a flexible workflow model description method based on extended WSDL (Web Service Description Language) and BPEL4WS (Business Process Execution Language for Web Services) is proposed. A flexible workflow prototype system supporting engineering design process is implemented according to the proposed EDP management framework in Microsoft VS.Net 2005 environment. The framework is demonstrated by the application in an EDP of a MTO company, and it shows that the proposed framework can support the creative and dynamic process in an efficient way. Finally, the strengths and weakness of the framework as well as the prototype system is discussed based on the results of the evaluation, and the proposed areas of future work are given

    Composition and synchronization of real-time components upon one processor

    Get PDF
    Many industrial systems have various hardware and software functions for controlling mechanics. If these functions act independently, as they do in legacy situations, their overall performance is not optimal. There is a trend towards optimizing the overall system performance and creating a synergy between the different functions in a system, which is achieved by replacing more and more dedicated, single-function hardware by software components running on programmable platforms. This increases the re-usability of the functions, but their synergy requires also that (parts of) the multiple software functions share the same embedded platform. In this work, we look at the composition of inter-dependent software functions on a shared platform from a timing perspective. We consider platforms comprised of one preemptive processor resource and, optionally, multiple non-preemptive resources. Each function is implemented by a set of tasks; the group of tasks of a function that executes on the same processor, along with its scheduler, is called a component. The tasks of a component typically have hard timing constraints. Fulfilling these timing constraints of a component requires analysis. Looking at a single function, co-operative scheduling of the tasks within a component has already proven to be a powerful tool to make the implementation of a function more predictable. For example, co-operative scheduling can accelerate the execution of a task (making it easier to satisfy timing constraints), it can reduce the cost of arbitrary preemptions (leading to more realistic execution-time estimates) and it can guarantee access to other resources without the need for arbitration by other protocols. Since timeliness is an important functional requirement, (re-)use of a component for composition and integration on a platform must deal with timing. To enable us to analyze and specify the timing requirements of a particular component in isolation from other components, we reserve and enforce the availability of all its specified resources during run-time. The real-time systems community has proposed hierarchical scheduling frameworks (HSFs) to implement this isolation between components. After admitting a component on a shared platform, a component in an HSF keeps meeting its timing constraints as long as it behaves as specified. If it violates its specification, it may be penalized, but other components are temporally isolated from the malignant effects. A component in an HSF is said to execute on a virtual platform with a dedicated processor at a speed proportional to its reserved processor supply. Three effects disturb this point of view. Firstly, processor time is supplied discontinuously. Secondly, the actual processor is faster. Thirdly, the HSF no longer guarantees the isolation of an individual component when two arbitrary components violate their specification during access to non-preemptive resources, even when access is arbitrated via well-defined real-time protocols. The scientific contributions of this work focus on these three issues. Our solutions to these issues cover the system design from component requirements to run-time allocation. Firstly, we present a novel scheduling method that enables us to integrate the component into an HSF. It guarantees that each integrated component executes its tasks exactly in the same order regardless of a continuous or a discontinuous supply of processor time. Using our method, the component executes on a virtual platform and it only experiences that the processor speed is different from the actual processor speed. As a result, we can focus on the traditional scheduling problem of meeting deadline constraints of tasks on a uni-processor platform. For such platforms, we show how scheduling tasks co-operatively within a component helps to meet the deadlines of this component. We compare the strength of these cooperative scheduling techniques to theoretically optimal schedulers. Secondly, we standardize the way of computing the resource requirements of a component, even in the presence of non-preemptive resources. We can therefore apply the same timing analysis to the components in an HSF as to the tasks inside, regardless of their scheduling or their protocol being used for non-preemptive resources. This increases the re-usability of the timing analysis of components. We also make non-preemptive resources transparent during the development cycle of a component, i.e., the developer of a component can be unaware of the actual protocol being used in an HSF. Components can therefore be unaware that access to non-preemptive resources requires arbitration. Finally, we complement the existing real-time protocols for arbitrating access to non-preemptive resources with mechanisms to confine temporal faults to those components in the HSF that share the same non-preemptive resources. We compare the overheads of sharing non-preemptive resources between components with and without mechanisms for confinement of temporal faults. We do this by means of experiments within an HSF-enabled real-time operating system
    • …
    corecore