Modeling and Validation of a Data Process Unit Control for Space Applications
|
|
|
- Vivien Wiggins
- 9 years ago
- Views:
Transcription
1 Modeling and Validation of a Data Process Unit Control for Space Applications Wan Hai, Huang Chongdi, Wang Yuhui, He Fei and Gu Ming Key Lab of ISS of MOE, TNList, School of Software, Tsinghua University, Beijing, China Chen Rui Beijing Institute of Control Engineering, Beijing, China Marius Bozga UJF-Grenoble 1/ CNRS VERIMAG UMR 5104 Grenoble, F-38041, France Abstract Data process unit () is a typical embedded system. It is widely used in space applications to collect data from sensors, process data and the data to its upper master computer. In this paper, we use the BIP framework to model and validate a system of a real space application. We first build the system model including the control software, hardware and the environment. Validation is by extensive simulation of a monitored system obtained as the composition of the model with monitors. A monitor checks a requirement by continuously sensing the state of the model and reaching an error state if the requirement is violated. We checked fault-tolerance for different fault models and detected several errors that under some conditions, could correspond to real implementation errors. I. Introduction Data process unit () is a typical embedded system. It is widely used in space applications. s are mainly placed in the middle layer of a space system and are used to obtain data from their lower sensors, process data and data to their upper master computer. For systems the main concerns are 1) whether a operation is finished in the predefined time; 2) whether an operation is executed according to the predefined protocol; 3) whether the data returned by the conforms to the specification. In this paper, we use a system obtained from a real space application as a case study. The system structure of the case is shown in Fig. 1. There are four sensors, a master computer, a multiplexer and a. Sensor1 is connected to the directly, while sensor2, sensor3, sensor4 and the master computer are connected to the through the multiplexer, which is controlled by the. There are two interrupts used in the software: the synchronous interrupt,, and the serial port interrupt,, which has higher priority than. Any data arriving at the serial port (the UART box in Fig. 1) leads to an interrupt and every rising edge of the synchronous signal leads to an interrupt. There are three routines in the software, respectively: the main routine, which is used to do the initialization work, the handling routine and the handling routine. The informal requirements of the software can be described using Fig. 2. The cycle length of the synchronous signal is 150ms. For every rising edge of the signal, there is an interrupt, which in turn triggers an handling routine. In the handling routine, the data of sensor1 should be Counter 82C54 Sensor1 (80C32) U A R T Channel Select RX TX Fig. 1. Dual 4-Channel Analog Multiplexer RX1 RX2 RX3 The system structure MC RX Sensor2 Sensor3 Sensor4 MC TX MC Sync Signal Master Computer (MC) latched and read. 4.5ms after the rising edge, the master computer will a data-request command to the (through the multiplexer), which triggers an interrupt. In the handling routine, the program executes the following sequence in 13ms: 1) latch and read the data of sensor1; 2) control the multiplexer to select sensor2 (sensor3, sensor4, resp.), the data-request command and receive the data sent back by sensor3 (sensor3, sensor4, resp.); 3) process and pack the data obtained from sensor1 to sensor4; 4) control the multiplexer to select the master computer and the packed data. rising edge 4.5ms Fig ms The timing diagram 150ms Besides the requirements mentioned in the previous paragraph, we have three functional requirements: (a) the master computer should be selected by the, when it s the data-request command to the ; (b) sensor1 provides the latch and read functions, these functions should be called according to a specific protocol; (c) the should the right data to the master computer 1. There are also two 1 For the formal description of right data, please refer to the technical report [1].
2 additional requirements expressing real-time constraints: (d) the handling routine should be finished in 4.5ms and (e) the handling routine should be finished in 13ms. In order the validate the system, we use the BIP framework [2]. The main work flow is shown in Fig. 3. First, the system, including hardware, software and environment, is modeled as a BIP component. Then all the requirements are modeled by monitor components. Finally, after composing the system model and the monitors, we use BIP tools for validation. In the flow, it is essential to come up with an adequate and faithful model. This involves the following tasks: decide which parts of the system should be modeled, decompose the system, choose the abstraction level, model applicationspecific features in BIP, such as the use of shared variable. Fig. 3. The work flow The rest of the paper is structured as follows. Section II gives a short introduction of the BIP framework. In section III we provide an overview of the BIP model of the system. Section IV presents the validation phase and section V concludes the paper. II. The BIP Framework BIP (Behavior, Interaction, Priority) is a component framework intended to rigorous system design [3]. It allows the construction of composite hierarchically structured components from atomic components characterized by their behavior and their interface. Components are composed by layered application of interactions and of priorities. A. BIP Concepts Atomic components are finite-state automata extended with variables and ports. Variables are used to store local data. Ports are action names, and may be associated with variables. They are used for interaction with other components. States denote control locations at which the components await for interaction. A transition is a step, labeled by a port, from a control location to another. It has associated a guard and an action, that are respectively, a Boolean condition and a computation defined on local variables. In BIP, data and their transformations are written in C/C++. For example, Fig. 8 provides a graphical representation of an atomic component used for the modeling of the case study. Interactions express synchronization constraints between ports (actions) of the composed components. Interactions are described in BIP as the combination of two types of elementary protocols: rendez-vous to express strong symmetric synchronization and broadcast to express triggered asymmetric synchronization. Interactions are defined using connectors, that is, sets of ports plus additional information. Within connectors, every port is typed either as synchron or as trigger. Trigger ports are used to initiate broadcast, that is, any subset of ports containing at least one trigger port denote a valid interaction of the connector. Rendez-vous synchronizations are obtained on connectors where all the ports are synchrons. For such connectors, the only valid interaction is the maximal one, that is, the whole set of ports. Finally, connectors provide mechanisms for dealing with data associated to (ports of) interacting components. Every interaction has a guard, that is, an enabling condition and an action, that is, an update (data transfer) function, operating on data associated to ports participating in the interaction. For example, Fig. 6 illustrates several connectors used for the composition of the top-level component. Circles (resp. triangles) denote synchron (resp. trigger) ports. Priorities are used to filter amongst possible interactions. They are expressed as conditional priority rules between two interactions, respectively a low-priority and a high-priority one. Whenever the condition (on the state of the system) holds, if the two interactions are enabled then only the high priority interaction is allowed for execution. In practice, priorities steer system evolution so as to meet performance requirements e.g. to express scheduling policies. The choices made in the definition of BIP are paramount. More information about the underlying concepts and the operational semantics of BIP can be found in [2], [4]. In particular, BIP provides separation of concerns between behavioral and architectural aspects in modeling. For BIP components, architecture is meaningfully defined as the combination of interactions and priorities. Component architecture can therefore be easily decoupled, understood and analyzed independently of the associated behavior. Moreover, [5] presents a study about expressivity of BIP and related component-based frameworks. It is shown that the combination of interactions and priorities confers BIP a universal form of expressiveness, actually not matched by any other existing formalism. Furthermore, besides theoretical studies, expressivity of BIP has been confirmed by the very numerous translations defined from existing models of computation and domain-specific languages into BIP. A survey and pointers to relevant publications are available on the BIP web site [6]. B. BIP Tools The BIP toolbox [6] includes a rich set of tools for modeling, code generation, execution, analysis (both static and on-the-fly), transformations of models. An overview of the toolbox is given in Fig. 4. The toolbox provides a dedicated modeling language for describing BIP components. It is a user-friendly textual language which provides syntactic constructs for describing components conforming to the formal framework. The BIP language
3 leverages on C-style variables and data type declarations, expressions and statements, and provides additional structural syntactic constructs for defining component behavior, specifying the coordination through connectors, and describing the priorities. Moreover, it provides additional constructs for dealing with parametric descriptions (i.e., where the same component occur replicated in many places) as well as for expressing timing constraints associated with behavior. Fig. 4. An overview of the BIP toolbox The toolbox provides front-end tools for editing and parsing of BIP descriptions, as well as for generating intermediate models, followed by code generation (in C++). Intermediate models can be subject to various model transformations focusing on construction of optimized models for respectively sequential [7] and distributed execution [8]. Back-end tools include specific runtimes for analysis (through simulation) and efficient execution on machines with different characteristics and OS support (e.g., real-time, mono/multi-thread, single/multi-core). Validation of BIP models can be achieved by using static and/or runtime validation techniques. Static validation techniques are provided by the D-Finder tool [9]. D-Finder implements state-of-the-art compositional methods [10] for computing invariants for systems consisting of interacting components. Invariants are safe (over) approximations of the set of reachable states of the system and can be used to prove safety requirements. In the case of BIP components, invariants computed are conjunctions of local invariants for atomic components and interaction invariants characterizing the interactions glue. Local component invariants are generated by static (and individual) analysis of atomic components. Interaction invariants are generated from abstractions of the interacting components and the interactions glue. Runtime validation techniques available for BIP are based on construction and execution of monitored systems. Historically, this validation approach is oriented towards finding errors rather than proving their absence from designs 2. This approach has been adapted for BIP components as explained in [11]. It consists in constructing an executable model of the designed system together with monitors responsible for evaluation of safety requirements. Monitors are atomic components that sense the system state (through interaction with system s components) and react by moving to error states whenever the safety requirement is violated i.e., if an inconsistent state is reached or an invalid sequence of interactions has been executed, etc. The BIP framework provides native support for building and running executable models for monitored systems. III. Overview of the BIP Model The hierarchy of the system with monitors is shown in Fig. 5. The overall structure of the BIP model for the system is shown in Fig. 6. The control software is furthermore decomposed into six subcomponents as shown in Fig. 7. We adopt the following decomposition principles: Distinguish two levels separating hardware from software. For hardware, we have 6 components: one component for each sensor, one for the multiplexer and one for the master computer. At the software level, decomposition follows on the software structure: besides the components for each interrupt routine, we have the serial port component, the scheduler component, which is used to accept the interrupts and schedule the routines, and the shared-variable component. Adopt an adequate abstraction level. For example, sensor1 is a single microcomputer. It can be decomposed to subcomponents as we do for the. Nevertheless, our modeling focuses only on two services it provides, i.e., lock and read. Therefore, an atomic component is sufficient. The decomposition follows the functionality. For example, the serial port component (shown in Fig. 8) consists of two subcomponents because it provides two functions: data and receive data, each of which is modeled by a subcomponent. Generally speaking, the ports of a component represent the services or events the component provides or uses. For example, sensor1 provides two services. Hence, it has two corresponding ports. An important issue in identifying ports is to decide the type of synchronization for ports: strong synchronization (drawn as a bullet in figures) or broadcast (drawn as a triangle in figures). Notice that ports modeling a service used or provided as well as ports are involved in strong synchronizations. On the contrary, ports used for ing messages which may not be received or emitting an interrupt signal, initiate broadcasts. The behavior of a component is modeled by a finite state automaton extended with data and functions written in C/C++. 2 actually, stronger guarantees on correctness can be obtained by combining simulation with statistical techniques as in statistical model-checking
4 SerialPort Main Shared Serial Port System under investigation checkdpu Dpu check System Multiplexer Scheduler Sending Receiving Dpu Sensor1 Sensor2 Environment Fig. 8. The BIP model of the serial port Monitored system Fig. 5. Sensor1 lock lock read read Monitors Sensor3 Sensor4 Master Comp Monitor1 The hierarchy of the BIP model with monitors Multiplexer Sensor2 Property monitors Master Computer For example, the receiving part of the serial port is shown in Fig. 9. Port is used to receive data from the multiplexer, port check is used for the routines to check whether there is a new data arrived, port for the routines to read the data of the serial port and port for emitting the interrupt signal. The initial state is IDLE. When it receives a data from the multiplexer, it will issue an interrupt signal. In the automaton, we know that 1) if a newly arrived data is not read then the serial port cannot receive a data; 2) if a routine does not check whether there is a new data before reading the serial port, it may read an old data. lock read Sensor3 select Dpu Dpu select Sensor4 check mainselect invoke Fig. 6. The overall structure of the BIP model main MainSelect mainselect syncint s1controller mainrun set set clear get lock lock read read serialint GetSyncData INT RETI clearandupdate lock lock read check read INT RETI select sync ret free lock1 free1 unlock1 lock2 unlock2 dpuscheduler ret Fig. 7. The BIP model of serialport Dpu 0 Dpu CheckDpu select Fig. 9. The receiving part of serial port There are two main lessons we learnt from the constructions of models: behavior should not necessarily capture all the implementation details. Take the serial port for example. At first, we want to build a model based on the hardware structure of serial port. Later, we find that it is too complex to follow and it is not necessary for our case since the modeling of serial port is not the key concern. Finally, by reading the specification of serial port and guiding by the actual needs, we build a simplified and correct model for the serial port. modeling choices must not add irrelevant constraints
5 into the design. For example, components should not be unexpectedly blocked, especially for those modeling environment. Take the component of the master computer for example. This component should emit the synchronous signals every 150ms. The first version of the component may be blocked if the does not return the data in time. Although this deadlock can be found through simulation or verification, in real implementations this situation cannot happen. For the case study, we construct 13 atomic components and 3 composite components. The BIP model is about 1100 lines of BIP code. The total development time is about three weeks including learning the use of BIP language and associated tools. IV. Overview of the Validation Validation involves three main steps, respectively, 1) building a set of environment models, 2) building monitors to express functional requirements, 3) composing the system model and the monitors, and run the simulation BIP tool. A. Environment modeling The system may always behave correctly for perfect scenarios. In order to evaluate correctness we need to design a set of potentially faulty environment models. In our case, we design four models for the master computer: 1) PMC: a perfect master computer which has perfect timing and does not miss signals (as shown in Fig. 2); 2) NPMC1: a non-perfect master computer that has perfect timing but may miss arbitrary signals 3 ; 3) NPMC2: a non-perfect master computer that has perfect timing and may miss signals, but cannot miss both signals in one cycle (as shown in Fig. 10); 4) NPMC3: a non-perfect master computer that has perfect timing and may miss signals, but cannot miss two adjacent signals; B. Requirements modeling As mentioned in section I, there are five functional requirements we want to validate. Each requirement is modeled by a monitor component. Typically, a monitor contains one or more states. Reaching error states means that the requirement is violated. In this case study, there are two monitor design principles: 1) The monitor should not influence the execution of the system; 2) The monitor should monitor every event it needs if needed, we should add specially designed ports to the system under investigation. Not influencing the system involves basically two conditions: the monitors should not change the inner state of the system neither block (i.e., restrict) the execution of the system by synchronization. For the first condition, the monitors should only read the data of the system writing is forbidden. There are two ways to ensure the second condition. We take 3 There are two signals that may be lost: the rising edge of synchronous signal and the data-request command of the master computer. Fig. 10. The non-perfect master computer NPMC2 for example the monitor for checking if the execution time of handling routine exceeds the predefined time (as shown in Fig. 11). All events the monitor observes should be connected by broadcasts, such as the connectors between INT and all.invoke0 and between RETI and all.ret0. The ports on the system model side should be triggers. However, if the port is used for strong synchronization (such as the port used to synchronize time between the monitor and the system) then the port should be enabled on all monitor states except for the error states. In other word, every state except for the error states has a self-cycle labelled by the port. In order to illustrate the second principle, we take NPMC2 for example. The BIP model of NPMC2 is shown in Fig. 10. NPMC2 would miss signals that are modeled by two transitions labelled miss and miss. At first, these two ports are inner ports that cannot be observed by other components. Nonetheless, during the construction of right data monitor, we found that the monitor should perceive the events of missing signals. Hence, we export these two ports. ExecuteTimeMonitor Fig. 11. C. Validation results count INT RETI all.invoke0 all.ret0 The handling routine execution time monitor The system model together with monitors form a BIP model as well. The generation of a executable simulation program includes two steps. First, the model is compiled into C++
6 code using the BIP compiler tools. Second, the C++ code is linked with the BIP engine and compiled into an executable program. Simulation of the model is done by executing the above program. Reaching an error state would usually cause a global deadlock. For example in Fig. 11, if the monitor reaches state ERROR, since there is no that can be triggered, the system time cannot advance, which results in a global deadlock. This would reduce the effectiveness, because only one bug can be found during one simulation run. In order to improve this, we modified monitors in order to allow the system to resume its execution whenever a violation is found. We perform validation of the five functional requirements, for each fault model. The results are summarized in Tab.I. TABLE I Validation result PMC NPMC1 NPMC2 NPMC3 Multiplexer Monitor (a) Latch instruction Monitor (b) Right data Monitor (c) routine time Monitor (d) routine time Monitor (e) Simulation time 10m 10m 10m 10m Number of simulated cycles After analyzing the traces generated by the simulation, a counterexample for requirement (c) using faulty environment model NPMC1 is shown in Fig. 12. In the trace, the datarequest command of cycle 1 and the interrupt of cycle 2 are lost. S 11 to S 16 are the values of sensor1 at the corresponding time positions. The expected return value is S 16 S 13 but the returns S 13 S 11. cycle0 S11 S12 S13 S14 Fig. 12. cycle1 S15 A counterexample V. Conclusion S16 cycle2 Data process unit () is a typical embedded system. It is used in space applications to collect data from sensors, process data and the data to its upper master computer. In this paper, we use the BIP framework to model and validate a system obtained from a real space application. We first build the system model including the control software, hardware and the environment. In order to do validation, we devise several fault models and for each requirement, we build a monitor component. After composing the system model and monitors together, we use BIP tool chain to do the validation based on simulation. We found several bugs in the design, at different stages of the development. This experiment perfectly illustrates the expressive power and the modeling and validation facilities provided by the BIP framework. The models developed have been shared with industrial designers of applications. The feedback obtained is particularly positive: the BIP models are clear, understandable and useful. BIP models definitely help to clarify design issues and to identify and correct rapidly potential design problems. The work on this case study is currently being extended in two directions. First, we are investigating the applicability of more powerful verification techniques and tools, such as compositional generation of invariants [10]. Contrary to simulation, these techniques are computationally much expensive but they can provide stronger guarantees about the correctness of safety properties. The second direction concerns implementation. We are planning to adapt the BIP code generator and to develop a domain-specific extension allowing to produce the low-level implementation of the software on specific processors. Acknowledgement This work was supported by the 973 Program of China (No. 2010CB328003), the National Natural Science Foundation of China(No , No ) and the EU FP7 Project COMBEST (IST STREP ). References [1] H. Wan, C. Huang, Y. Wang, and F. He, Dpu case study using the bip framework, Institute of Software Theory and System, School of Software, Tsinghua University, Tech. Rep. TR-2011-BIP--1, May [2] A. Basu, M. Bozga, and J. Sifakis, Modeling heterogeneous real-time components in BIP, in Software Engineering and Formal Methods, 2006, SEFM 2006, 4th IEEE International Conference. IEEE, 2006, pp [3] A. Basu, S. Bensalem, M. Bozga, J. Combaz, M. Jaber, T.-H. Nguyen, and J. Sifakis, Rigorous component-based system design using the bip framework, IEEE Software, vol. 28, no. 3, pp , [4] S. Bliudze and J. Sifakis, Causal semantics for the algebra of connectors, Formal Methods in System Design, vol. 36, no. 2, pp , [5], A Notion of Glue Expressiveness for Component-Based Systems, in CONCUR 08, ser. LNCS, vol Springer, 2008, pp [6] The BIP Toolset, Component-Based.html. [7] M. Bozga, M. Jaber, and J. Sifakis, Source-to-source architecture transformation for performance optimization in bip, IEEE Trans. Industrial Informatics, vol. 6, no. 4, pp , [8] B. Bonakdarpour, M. Bozga, M. Jaber, J. Quilbeuf, and J. Sifakis, From high-level component-based models to distributed implementations, in Proceedings of the 10th International conference on Embedded software, EMSOFT 2010, 2010, pp [9] S. Bensalem, M. Bozga, T.-H. Nguyen, and J. Sifakis, D-finder: A tool for compositional deadlock detection and verification, in Computer Aided Verification, 21st International Conference, CAV 2009, Proceedings, ser. LNCS, vol. 5643, 2009, pp [10], Compositional verification for component-based systems and application, IET Software, vol. 4, no. 3, pp , [11] Y. Falcone, M. Jaber, T.-H. Nguyen, M. Bozga, and S. Bensalem, Runtime verification of component-based systems, in Software Engineering and Formal Methods, 2011, SEFM 2011, 9th International Conference, 2011, pp
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
From Control Loops to Software
CNRS-VERIMAG Grenoble, France October 2006 Executive Summary Embedded systems realization of control systems by computers Computers are the major medium for realizing controllers There is a gap between
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
A Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Design by Contract beyond class modelling
Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable
Compliance and Requirement Traceability for SysML v.1.0a
1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
A Case Study of Question Answering in Automatic Tourism Service Packaging
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 13, Special Issue Sofia 2013 Print ISSN: 1311-9702; Online ISSN: 1314-4081 DOI: 10.2478/cait-2013-0045 A Case Study of Question
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach
ASCETiC Whitepaper Motivation The increased usage of ICT, together with growing energy costs and the need to reduce greenhouse gases emissions call for energy-efficient technologies that decrease the overall
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM Albert M. K. Cheng, Shaohong Fang Department of Computer Science University of Houston Houston, TX, 77204, USA http://www.cs.uh.edu
Model Simulation in Rational Software Architect: Business Process Simulation
Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Layered Queuing networks for simulating Enterprise Resource Planning systems
Layered Queuing networks for simulating Enterprise Resource Planning systems Stephan Gradl, André Bögelsack, Holger Wittges, Helmut Krcmar Technische Universitaet Muenchen {gradl, boegelsa, wittges, krcmar}@in.tum.de
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation
PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris
SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1
SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability
COCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
Distributed Dynamic Load Balancing for Iterative-Stencil Applications
Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,
Architecture Design & Sequence Diagram. Week 7
Architecture Design & Sequence Diagram Week 7 Announcement Reminder Midterm I: 1:00 1:50 pm Wednesday 23 rd March Ch. 1, 2, 3 and 26.5 Hour 1, 6, 7 and 19 (pp.331 335) Multiple choice Agenda (Lecture)
Introduction to Modelling Embedded Systems with Alvis
AUTOMATYKA 2011 Tom 15 Zeszyt 2 Marcin Szpyrka*, Piotr Matyasik*, Rafa³ Mrówka*, Wojciech Witalec*, Jaros³aw Baniewicz**, Leszek Kotulski* Introduction to Modelling Embedded Systems with Alvis 1. Introduction
Modular Communication Infrastructure Design with Quality of Service
Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Composability Gary R. Mayer [email protected] Hessam S. Sarjoughian [email protected] Arizona Center for Integrative Modeling
Fundamentals of Software Engineering
Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS David URTING, Stefan VAN BAELEN, Tom HOLVOET and Yolande BERBERS {David.Urting, Stefan.VanBaelen, Tom.Holvoet, Yolande.Berbers}@cs.kuleuven.ac.be
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
The SPES Methodology Modeling- and Analysis Techniques
The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München [email protected] Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT
A Safe Dynamic Adaptation Framework for Aspect- Oriented Software Development
Journal of Universal Computer Science, vol. 14, no. 13 (2008), 2212-2238 submitted: 31/10/07, accepted: 27/6/08, appeared: 1/07/08 J.UCS A Safe Dynamic Adaptation Framework for Aspect- Oriented Software
Service-oriented architectures (SOAs) support
C o v e r f e a t u r e On Testing and Evaluating Service-Oriented Software WT Tsai, Xinyu Zhou, and Yinong Chen, Arizona State University Xiaoying Bai, Tsinghua University, China As service-oriented architecture
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
42: A Component-Based Approach to Virtual Prototyping of Heterogeneous Embedded Systems
tel-00539648, version 1-24 Nov 20 42: A Component-Based Approach to Virtual Prototyping of Heterogeneous Embedded Systems Ph.D. Defense Tayeb bouhadiba Directrice de thèse : Florence maraninchi Jury: Marc
Competitive Analysis of On line Randomized Call Control in Cellular Networks
Competitive Analysis of On line Randomized Call Control in Cellular Networks Ioannis Caragiannis Christos Kaklamanis Evi Papaioannou Abstract In this paper we address an important communication issue arising
GOAL-BASED INTELLIGENT AGENTS
International Journal of Information Technology, Vol. 9 No. 1 GOAL-BASED INTELLIGENT AGENTS Zhiqi Shen, Robert Gay and Xuehong Tao ICIS, School of EEE, Nanyang Technological University, Singapore 639798
The ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
jeti: A Tool for Remote Tool Integration
jeti: A Tool for Remote Tool Integration Tiziana Margaria 1, Ralf Nagel 2, and Bernhard Steffen 2 1 Service Engineering for Distributed Systems, Institute for Informatics, University of Göttingen, Germany
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Robot Task-Level Programming Language and Simulation
Robot Task-Level Programming Language and Simulation M. Samaka Abstract This paper presents the development of a software application for Off-line robot task programming and simulation. Such application
Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources
Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources Athanasios Naskos, Emmanouela Stachtiari, Panagiotis Katsaros, and Anastasios Gounaris Aristotle University of Thessaloniki,
INF5140: Specification and Verification of Parallel Systems
INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
Enterprise Architecture: Practical Guide to Logical Architecture
Objecteering Practical Guides Enterprise Architecture: Practical Guide to Logical Architecture Author: Version: 1.0 Copyright: Softeam Softeam Consulting Team Supervised by Philippe Desfray Softeam 21
Chapter 2: Remote Procedure Call (RPC)
Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC
Using UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Introduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Communication Networks. MAP-TELE 2011/12 José Ruela
Communication Networks MAP-TELE 2011/12 José Ruela Network basic mechanisms Network Architectures Protocol Layering Network architecture concept A network architecture is an abstract model used to describe
A Business Process Driven Approach for Generating Software Modules
A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Reliability Guarantees in Automata Based Scheduling for Embedded Control Software
1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,
DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL
IJVD: 3(1), 2012, pp. 15-20 DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL Suvarna A. Jadhav 1 and U.L. Bombale 2 1,2 Department of Technology Shivaji university, Kolhapur, 1 E-mail: [email protected]
Master of Science in Computer Science
Master of Science in Computer Science Background/Rationale The MSCS program aims to provide both breadth and depth of knowledge in the concepts and techniques related to the theory, design, implementation,
Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks
Designing a Home Alarm using the UML And implementing it using C++ and VxWorks M.W.Richardson I-Logix UK Ltd. [email protected] This article describes how a simple home alarm can be designed using the UML
Business Process Verification: The Application of Model Checking and Timed Automata
Business Process Verification: The Application of Model Checking and Timed Automata Luis E. Mendoza Morales Processes and Systems Department, Simón Bolívar University, P.O. box 89000, Baruta, Venezuela,
The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999
The ConTract Model Helmut Wächter, Andreas Reuter November 9, 1999 Overview In Ahmed K. Elmagarmid: Database Transaction Models for Advanced Applications First in Andreas Reuter: ConTracts: A Means for
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.
CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
TD 271 Rev.1 (PLEN/15)
INTERNATIONAL TELECOMMUNICATION UNION STUDY GROUP 15 TELECOMMUNICATION STANDARDIZATION SECTOR STUDY PERIOD 2009-2012 English only Original: English Question(s): 12/15 Geneva, 31 May - 11 June 2010 Source:
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform
Driven and Oriented Integration---The Method, Framework and Platform Shuangxi Huang, Yushun Fan Department of Automation, Tsinghua University, 100084 Beijing, P.R. China {huangsx, fanyus}@tsinghua.edu.cn
Automating Code Reviews with Simulink Code Inspector
Automating Code Reviews with Simulink Code Inspector Mirko Conrad, Matt Englehart, Tom Erkkinen, Xiaocang Lin, Appa Rao Nirakh, Bill Potter, Jaya Shankar, Pete Szpak, Jun Yan, Jay Clark The MathWorks,
AndroLIFT: A Tool for Android Application Life Cycles
AndroLIFT: A Tool for Android Application Life Cycles Dominik Franke, Tobias Royé, and Stefan Kowalewski Embedded Software Laboratory Ahornstraße 55, 52074 Aachen, Germany { franke, roye, kowalewski}@embedded.rwth-aachen.de
Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor
Applying Use Cases to Microcontroller Code Development Chris Gilbert Cypress Semiconductor Agenda Why Use Cases Microcontroller Project Development Use Cases Defined Use Cases Composition General Example
Security Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
Verifying Business Processes Extracted from E-Commerce Systems Using Dynamic Analysis
Verifying Business Processes Extracted from E-Commerce Systems Using Dynamic Analysis Derek Foo 1, Jin Guo 2 and Ying Zou 1 Department of Electrical and Computer Engineering 1 School of Computing 2 Queen
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
Modeling and Verification of Sampled-Data Hybrid Systems
Modeling and Verification of Sampled-Data Hybrid Systems Abstract B. Izaias Silva and Bruce H. Krogh Dept. of Electrical and Computer Engineering, Carnegie Mellon University (Izaias /krogh)@cmu.edu We
Building a virtual marketplace for software development tasks
Building a virtual marketplace for software development tasks Boris Kötting & Frank Maurer University of Kaiserlautern & University of Calgary [email protected] & [email protected] Abstract
Using the TASKING Software Platform for AURIX
Using the TASKING Software Platform for AURIX MA160-869 (v1.0rb3) June 19, 2015 Copyright 2015 Altium BV. All rights reserved. You are permitted to print this document provided that (1) the use of such
Frameworks of Process Improvement for Mobile Applications
Frameworks of Process Improvement for Mobile Applications Haeng-Kon Kim Abstract Mobile application development belongs on the complicated, but quite regular software development environment that includes
Automotive System and Software Architecture
Automotive System and Software Architecture Yanja Dajsuren 2IW80 Software specification and architecture March 25, 2014 Which one has more software? Chevrolet Volt, an example modern day car Boeing 787,
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
Chapter 7 Application Protocol Reference Architecture
Application Protocol Reference Architecture Chapter 7 Application Protocol Reference Architecture This chapter proposes an alternative reference architecture for application protocols. The proposed reference
