单片机类毕业论文设计英文翻译.doc
单片机类毕业论文设计英文资料翻译A modeling-based methodology for evaluating the performance of a real-time embedded control systemKlemen Perko, Remy Kocik, Redha Hamouche, Andrej TrostABSTRACTThis paper presents a modelling-based methodology for embedded control system (ECS) design. Here, instead of developing a new methodology for ECS design, we propose to upgrade an existing one by bridging it with a methodology used in other areas of embedded systems design. We created a transformation bridge between the control-scheduling and the hardware/software (HW/SW) co-design tools. By defining this bridge, we allow for an automatic model transformation. As a result, we obtain more accurate timing-behaviour simulations, considering not only the real-time software, but also the hardware architectures impact on the control performance. We show an example with different model-evaluation results compared to real implementation measurements, which clearly demonstrates the benefits of our approach.© 2011 Elsevier B.V. All rights reservedKEY WORDS: Modeling, Model transformations, Embedded control systems design, Real-time systems1. IntroductionEmbedded control systems (ECSs) are ubiquitous nowadays. They are used in a broad spectrum of applications, from simple temperature control in household appliances to complex and safetycritical automotive brake systems or aircraft flight control systems. Different applications have different demands with regards to the real-time execution, control performance, energy consumption, price, etc., of the ECS being used. Modern technologies for hardware (HW) and software (SW) design provide a variety of possibilities for designing ECSs (e.g., distributed and networked HW, multi-processor systems, a variety of SW control algorithms and real-time operating systems (RTOSs), etc.) 1. It is commonly acknowledged that the designing and verifying of reliable and efficient ECSs for a particular application are challenging tasks.1.1. Traditional control-system designThe aim of designing an ECS is to build a computing system that is able to control the behavior of a physical system, e.g., a plant. Such a plant is made up of interconnected mechanical, electrical and/or chemical elements. A typical ECS consists of electronic sensors for data acquisition from the plant, a computing system for processing the control algorithm, and electronic actuators to drive the plant.The ECS design process involves different actors and areas of expertise (control theory, signal processing, real-time SW and HW engineers). Each of these engineers is familiar with their own modeling languages, models, design tools, etc. This heterogeneity introduces cuts in the design process. Model transformations are needed between each design step; however, they are often carried out manually and, as a result, are prone to mistakes and subject to interpretation, which of course depends on the skill of the designer. The traditional form of ECS design is performed in two separated domains the control SW domain and the HW domain using specific design tools and their respective system models. In the first domain, control engineers define the control laws and the SW engineers write the code that executes the operations required by the control laws. A so-called control-scheduling co-design is performed. Decisions made in the real-time (RT) software design affect the control design, and vice versa. For instance, different SW scheduling policies have different impacts on the latency distributions in the control loops and, consequently, on their performance. Also, the control-loop performance directly affects (by constraining) the SW execution parameters (i.e., sampling periods, task-execution jitter, etc.).In the second domain the HW engineers design an HWplatform that will execute the control SW. The connections of all the sensors and actuators to the platform are made via the available communication channels. However, because the HW platform is designed separately, control engineers cannot estimate its impact on the control-loop performance. For instance, the data from sensors and to actuators can pass through one or more communication channels. A HW engineer can, in general, choose from among a variety of communication protocols, and each type introduces different latencies and jitter, which therefore affects the SW execution. The control engineer cannot, however, evaluate the effect of these latencies before the system is actually implemented. Hence, the desired performance of the system may not be achieved, and it is necessary to change and tune the control laws (calibration phase) in order to compensate for the impact of these communication and execution delays. The fact that the calibration has to be performed on an actual plant can be very expensive and time-consuming, especially when the desired performance cannot be achieved using the current HWplatform and a redesign is required. Another shortcoming of traditional ECS design is the inability of control and SW engineers to exploit some of the advantages offered by modern HW technologies. For instance, control loops running in parallel, instead of the traditional sequential execution, could give better performance. Parallel execution can be achieved with the use of multi-processor or distributed platforms.Modern ECS design techniques rely heavily on system modeling, which provides a means to examine how various components work together and to estimate the impact of the ECSs implementation on control performance before it is actually implemented. This makes it possible to correct the initial control laws in order to compensate for the implementation impacts early in the design cycle. Another important aspect of modeling is the ability to explore different possible system implementations (design-space exploration). Appropriate modeling can significantly shorten the design cycle of an ECS 2.To overcome the problems introduced by the heterogeneity of design models and tools, different methodologies and tools were developed 3. These methodologies usually provide a means to create a uniform ECS model, simulate and evaluate its behavior, formally transform it towards an implementation, etc.1.2.Proposed control system designTo improve and accelerate the traditional ECS design we propose the merging of these separated domains. On the basis of this merging, all the actors in the design process could better collaborate and exchange their data during the design process, they could do a more thorough design-space exploration and the design cycle could be made significantly shorter. Instead of developing a new methodology for ECS design, we propose to upgrade the traditional SW-based control-system design approach with efficient modeling and design of the HW platforms. Recently, several methodologies have been developed that concern HW/SW co-design. These methodologies enable the efficient design of SW and HW on embedded systems in terms of SW execution speed, HW resources usage, system flexibility, future upgradeability, final design costs, etc. We propose creating a formal bridge between the existing tools for control-scheduling co-design and HW/SW co-design. This bridge makes possible model transformations and the exchange of simulation results between tools for control-scheduling co-design and HW/SW co-design.The bridge is based on a formal transformation of models between different design tools. Our foundation for the control scheduling co-design methodology is work presented in 4 and its associated tool, MoDEST, which is presented in 5. For the purpose of HW/SW co-design we have selected the methodology presented in 6 with its associated abstract-system modeling tool, ASyMod, which is presented in 7.With the bridge we are able to obtain more accurate control-performance evaluations considering architectural details and even the possibility to study mixed HW/SW implementations of the control system. Evaluating the impact of implementation in the early design stages reduces the number of design-lifecycle iterations and shortens the time needed for a final calibration of the control laws.In the next section we present the related methodologies, followed by short descriptions of the MoDEST and ASyMod tools and their metamodels. In Section 3 we describe the formal rules for model transformation and the implementation of the bridge. In Section 4, two examples of an embedded controller are presented. By comparing simulation results to measurements on a real implemented system, we show the benefits of our approach. Finally, the paper is concluded in Section 5.1.3.Related methodologies and toolsThe increasing need to optimize ECSs in terms of their control performance, RT constraints and cost efficiency has led to limited computational resources combined with their efficient exploitation and has, as a consequence, encouraged the emergence of new research areas.Domain-specific tools for control-scheduling co-design have been developed recently. These tools support implementation modeling and analysis in terms of control performance. Several of the tools are based on Matlab, which is traditionally used by control engineers for the design of control laws. The AIDA 8 toolset is a model-based environment for the design and analysis of control systems, used either in stand-alone form or with Matlab. The toolset supports the modeling of control-function execution on distributed HW components containing multi-processors and communications links. The effects of the control algorithms implementation on control performance can be analyzed. Jitterbug 9 is a Matlab-based analysis tool for computing a quadratic performance criterion in linear control systems under various timing conditions. Using Jitterbug, the sensitivity of control systems to delays, jitter and other interferences can be studied. The effects of different SW implementations on control performance can be analyzed. TrueTime 10 is a simulator in Matlab/Simulink designed for the co-simulation of the distributed controllers task execution on several RT kernels, network transmissions, and continuous plant dynamics. It provides a control performance analysis of distributed RT computer-based control systems, considering the effects of processors and network scheduling, task attributes, their data dependency, etc. TrueTime and Jitterbug can be used together to evaluate the performance of various control loop implementations 11. Recently an ESMol 12 tool chain has been developed. It incorporates a prototype scheduling tool which calculates schedules for time-triggered networks in distributed embedded systems. The ESMoL can be used together with the TrueTime in order to asses platform effects to computed schedule and to control performance.The research activities focused on software design for distributed real-time embedded systems lead to development several tools and languages. Timing Definition Language (TDL) is a high-level description language for specifying the explicit timing requirements of a time-triggered application, which may be constructed out of several components. It promotes the idea that the functional and temporal behavior of developed software should be platform independent. This reduces costs of system integration, validation and maintenance. An automatic bus-schedule generation for messages over network topology is presented in 13. An approach to optimize software component allocation systems on distributed real-time embedded systems is explained in 14. Authors provide bin packing algorithm for deployment and configuration of components in order to meet their required quality-of-service (QoS) properties, such as predictable latency/jitter, throughput guarantees, scalability etc. Cheddar tool is designed for software task scheduling simulation and feasibility analysis of systems described with Architecture Analysis & Design Language (AADL). Methods for scheduling analysis and memory requirements analysis of buffers used for communication between AADL threads are described in 15.Researchers have defined several HW/SW co-design methodologies in order to leverage system development. Multicomponent architectures allowing RT implementations of complex algorithms at a low cost have been proposed. Several tools have been introduced for system modeling 16, synthesis 17 and design 1820. Ptolemy II 16 supports a variety of models of computation, for example, a timed multitasking model 21 for a deterministic design of the concurrent RT software. The tool is able to model a fixed-priority scheduling of tasks with constant execution times. SynDEx 20 is a co-design tool for rapid prototyping and optimizing the implementation of distributed RT embedded applications onto multicomponent architectures. It includes automatic mapping and scheduling, supports architecture refinements and the automatic generation of the executable code.The complexity of the algorithms, reusability and traceability, demand a reduction in the design costs, and the diversity of skills and tools involved in the design process has driven researchers to define a new model-driven methodology. The Model- Driven Engineering (MDE) approach relies on using the concepts of models as an abstract presentation of the system. The model is always constructed with a specific purpose in mind and is not intended to represent the system as a whole. The semantics of the concepts and relations handled in the model has to be precisely specified. The role of the metamodel is to define what the valid models express, e.g., a model is conformable to a metamodel. Metamodels are defined using one of the modeling languages. The approach was first applied in the SW engineering domain 22, but later it has also been increasingly used in the design of embedded systems 12,14,23,24.In the MDE approach, models evolve with model transformations classified into vertical and horizontal transformations 25. A typical example of the horizontal transformation is model migration, and an example of the vertical transformation is model refinement. Vertical transformation steps add more details to the model with respect to the previous step. Each vertical refinement step leads to a more detailed model, while still implying the properties of the abstract model from the first step. The level of abstraction is lowered towards the implementable model. The horizontal transformation is a transformation where the source and the target models reside at the same abstraction level, but the model can migrate from one tool to another. With horizontal transformations, different bridges between the tools can be established. For vertical and horizontal transformations different approaches and related languages have been developed that provide transformation environments. Acknowledged representatives of model transformation lan