COMPONENT-BASED DESIGN OF SOFTWARE FOR DISTRIBUTED EMBEDDED SYSTEMS
|
|
- Hilary Rich
- 5 years ago
- Views:
Transcription
1 COMPONENT-BASED DESIGN OF SOFTWARE FOR DISTRIBUTED EMBEDDED SYSTEMS CHRISTO ANGELOV, KRZYSZTOF SIERSZECKI Mads Clausen Institute for Product Innovation, University of Southern Denmark, Grundtvigs Alle 150, 6400 Soenderborg, Denmark, {angelov, Abstract. The widespread use of embedded systems mandates the development of industrial software design methods, i.e. computer-aided design and engineering of embedded applications using formal models (frameworks) and standardized prefabricated components, much in the same way as in other mature areas of engineering such as mechanical engineering and electronics. These guidelines have been used to develop Component-based Design of Software for Embedded Systems (COMDES). The paper gives an overview of the COMDES framework, followed by a presentation of a generic component types, such as function blocks, activities and function units. The execution of function units is discussed in the context of a newly developed execution model, i.e. timed-multitasking, which has been extended to distributed embedded systems. Key Words. Distributed embedded systems, component-based design, reusable executable components, function blocks, reconfigurable state machines, timed multitasking 1. INTRODUCTION The widespread use of embedded systems poses a serious challenge to software developers in view of diverse, severe and conflicting requirements, e.g. reduced development and operating costs, reduced time to market, as well as specific issues that are particularly important for embedded systems: dependable operation through reliable and error-free software; predictable and guaranteed behaviour under hard real-time constraints; scalable and open architecture supporting software reuse and reconfiguration. The above requirements cannot be met by currently used technology, which is largely based on ad-hoc software design and manual coding techniques. In fact, the state of the art in that area can be characterized as manufacturing production of software, much in the same way as design and production for mechanical and electronic systems in their early stages of development. Recently, there have been some attempts to overcome the above problem through model-based design and computeraided generation of embedded software. However, this approach has a serious drawback: it does not provide adequate support for dynamic (in-site and on-line) reconfiguration since it requires the generation and compilation of new code, which has to be subsequently downloaded into the target system. Therefore, a new approach towards software development is needed, i.e. industrial production of software for embedded applications (following a similar transition from manufacturing to industrial production methods in other areas, e.g. mechanical engineering and electronics). This could be eventually accomplished through computer-aided configuration of embedded systems software using formal frameworks and standard executable components. The latter may be implemented as relocatable silicon libraries stored in non-volatile memory (ROM). The main problem that has to be addressed in this context is to develop a comprehensive, yet intuitive and open framework for embedded systems. This is a hot topic of research [5], [6], [10] [14] but the problem is far from being solved, which can be explained by the lack of previous research and the great variety of applications and design issues [4]. However, it can be argued that the only way to achieve such a goal is to use concepts and principles that are derived from the application domain of embedded systems, rather than imported from other application domains.
2 Embedded systems are predominantly control systems. Recent studies have shown that 98% of all microprocessors are used in embedded applications and most of them have a control or monitoring function [10]. This suggests the use of a systematic (techno-centric) approach for embedded software development, taking into account the true nature of embedded systems, which are real-time reactive systems that are closely coupled with the machines and processes controlled. Such an approach must be based on control engineering concepts rather than those of computer science and human experience, as exemplified by so called structured design methods. In particular, it is necessary to develop formal methods for embedded software analysis and design that would adequately specify systems structure and behaviour for a broad range of applications. The above observations have been instrumental in developing the COMDES framework (COMponentbased Design of Software for Distributed Embedded Systems), whose specification was originally presented in [2]. The paper represents the next cycle of development and refinement of the framework in which a number of issues have been addressed: a new definition of component types, development of design patterns for reusable and reconfigurable components and finally - elimination of I/O jitter by applying the principle of timed multitasking to COMDES subsystems. The paper is structured as follows: section 2 outlines major design issues and presents the COMDES framework and the associated software design method. Section 3 continues with a detailed discussion of generic software components defined in that framework: function blocks, activities and function units, and it also presents the execution of function units in a timed-multitasking environment. A summary of COMDES features is given in the concluding section of the paper. 2. OVERVIEW OF COMDES A system designed according to the COMDES framework consists of three main components: function units, function unit activities and function blocks. The distributed embedded system is conceived as a composition of software components (function units) that act as software agents for autonomous subsystems. Function units may be viewed as largescale software integrated circuits that can be softwired with one another in order to configure specific applications. Overall system configuration can be described by a function unit diagram, i.e. a signal flow graph specifying function units and their interactions (Fig. 1). pulses SensorSpeed Sensor keys ControllerVoltage Operator Station StationSetpoint SensorSpeed StationSetpoint Controller Fig. 1. Function unit diagram StationParameters StationParameters ControllerVoltage Actuator voltage Function units interact by exchanging signals, i.e. labelled messages (pressure, temperature, etc.) within various types of distributed transactions, such as producer-consumer and client-server interactions. Producer-consumer interaction is preferred for horizontal time-critical communication, which is one-to-many in the general case. It may have statemessage or event-message semantics. Client-server communication may be used for bi-directional vertical communication, which is not time-critical (e.g. communication between the operator station and lower-level devices). It may be eventually emulated via unidirectional event-message communication. Signals are exchanged by means of a communication mechanism featuring implicit content-oriented message addressing. This facilitates system reconfiguration and provides for transparent communication between function units, resulting in flexible and truly open distributed systems. Input signals Fig. 2. Function unit structure Output signals Function units encapsulate input/output signal drivers, and one or more threads of control - activities (Fig. 2). These generate applicationspecific reactions to timing and/or external events by invoking lower-level components - function blocks, which implement specific signal processing and control functions (e.g. Fig. 3). Activities interact with the outside world via signals provided by input and output signal drivers (by analogy with hardware integrated circuits). Activation event Pre-proc. FB PID Fig. 3. Function unit activity Post proc. FB
3 Complex activity behaviour can be formally specified in terms of hybrid state machines implemented by state machine function blocks (Fig. 4). Reactive behaviour is modelled with a Moore machine, where each state is associated with a specific reaction. Each reaction is accomplished with one or more output signals that are generated in response to the corresponding event. A signal is computed via a sequence of transformations that can be modelled with a function block diagram, i.e. an acyclic signal flow graph whose nodes implement basic application functions such as PID. The above model combines the reactive and transformational aspects of system behaviour in a natural manner, and at the same time they are treated in separation being delegated to different levels of hierarchy. This is a powerful model, which can be used to specify a broad variety of applications, such as discrete, continuous and hybrid control systems, signal processing systems, etc. and operation of other function units, provided that the original signal flow graph remains unchanged. This is a prerequisite for the implementation of flexible and reconfigurable systems, as well as faulttolerant systems. However, alternative configurations have to be provably correct in terms of timing and/or functional behaviour, which can be assessed using appropriate techniques and tools. The goal of COMDES is to eliminate (or at least minimize) manual coding and its adverse effects, using prefabricated components and computer-aided software development and analysis tools. This is accomplished using a radically different approach that can be summarized in one sentence: What you specify is what you verify, execute and test. The ultimate result is software that is error-free by design. Manual Pre-proc. FB Stopped & Manual Manual Control Stop Motor Manual Automatic NotStopped State Machine Stopped & Automatic Automatic Control Automatic Post proc. FB PID Fig. 4. behaviour modelled by means of a hybrid state machine In a distributed environment function unit activities implement the process execution phases of distributed transactions, which might be time-driven or event-driven. COMDES has been conceived as a timed asynchronous architecture, which uses dynamic scheduling techniques, assuming that transactions may be activated by timing and/or external events. Therefore, it can be potentially used to engineer time-driven as well as event-driven applications. However, time-driven operation is preferred for dependable hard real-time systems because it provides a framework for predictable task and communication scheduling within time-bounded transactions. This feature is highlighted by a new execution model, i.e. timed multitasking [8], which has been extended to distributed embedded systems and the COMDES framework. An outstanding feature of the model presented above is the non-conventional definition of component objects and their interactions. Function units might be viewed as large-scale software integrated circuits of standard internal structure. These can be used to configure specific applications wherein function units interact by exchanging signals via content-oriented message addressing, rather than remote invocation of object methods. Consequently, changes in function unit allocation and internal structure do not affect the internal structure Acceptance Testing Maintenance Problem Result Specifying Informal specification Timing analysis Formalizing Verification Formal specification Validation Integration Application Fig. 5. COMDES software development Configuration COMDES emphasizes application configuration, whereas application programming, compilation, linking or source code generation are eliminated from the design cycle (Fig. 5). 3. COMDES SOFTWARE COMPONENTS The COMDES framework has been used to systematically define and subsequently, develop design patterns for a number of reusable and reconfigurable components: function blocks, function unit activities and function units. The underlying design principle is to emulate integrated circuits (IC s) and IC assemblies via encapsulation, aggregation and association, as shown in the following discussion Function blocks Function Block (FB) is the main COMDES component. The FB can be seen as a class specifying a number of re-entrant and relocatable operations, as well as a general definition of the so called function block execution record (Fig. 6). The latter is a data structure containing all necessary information such as parametric and signal inputs, signal outputs, internal variables, which is instantiated for each object of a given FB class.
4 The standard function block operations are: start(), run(), and stop(). The first and the last routines assure correct initial and exit conditions, whereas run() operation executes the main FB algorithm. In addition to these operations, FBs may have an arbitrary number of other operations, as required for a specific class. Execution record Relocatable operations Fig. 6. Function block class Function Block -input pointers -internal variables +output buffers +start() +run() +stop() Function blocks are interconnected via softwiring using pointers to the corresponding data locations. Softwiring is conceived as an output-to-input(s) connection: output data is stored in the output buffer of the source FB instance record, and it is subsequently accessed by one or more destination function blocks through the corresponding input pointers. This allows for efficient one-to-many connections by eliminating the need to copy source data to multiple destination inputs. Two categories of function blocks are distinguished: stateless and state machine as depicted on the following diagram (Fig. 7). Stateless Function Block State Machine Basic Composite Driver Synchronous Asynchronous Fig. 7. Function block hierarchy Basic function blocks are essentially stateless building blocks. These implement specific process control functions, such as various types of process variable pre-processing, conventional and advanced control algorithms, e.g. PID. A composite function block (CFB) aggregates FB instances implementing complex signal transformations, such as closed loop control, various signal processing functions, etc., which may be configured for each particular application. However, it is also possible to encapsulate FB diagram patterns into reusable components (Fig. 8). Control Block A CFB is externally indistinguishable from basic FBs. It executes the encapsulated diagram by means of a standard routine the so called function block driver, which invokes encapsulated FB instances according to a static execution schedule, i.e. linear sequence of FB instances. The schedule is derived from the function block diagram by observing the flow of signals between constituent function blocks. The driver is a special class of function block, which is usually hardware dependent. It provides an interface to the system environment or the communication network. In the latter case the driver is called signal driver. Depending on signal direction, a driver can be classified as input or output signal driver (Fig. 9). Input signal Fig. 9. Signal drivers Internal variables Output signal It must be noted that signal drivers provide for transparent communication between function units, which is independent of their allocation on network nodes. This is accomplished through a communication protocol featuring signal-based communication and content-oriented message addressing, which is currently supported by the HARTEX kernel (see below). The state machine function block class is a reconfigurable and reusable component that can be used to implement complex behaviours typical for applications such as sequential control systems, as well as modal continuous control. It may invoke instances of other function blocks, while visiting a state. Function blocks may also be invoked in order to compute condition variables needed for the evaluation of guards. These features can be used to implement hybrid state machines. However, it is also possible for a state machine to invoke another instance of the state machine, or perhaps several instances, while visiting a state. This feature can be used to implement complex behaviours modelled by hierarchical and concurrent state machines. The main idea behind the implementation is to provide a universal and reusable component that can be reconfigured by changing the supporting data structure, i.e. a state transition table consisting of binary decision diagrams (BDDs) that represent the next-state mappings of various states. The state transition table is interpreted by the so called state machine driver, which invokes function blocks needed to compute condition variables and control signals. Pre-proc. FB PID Fig. 8. Composite function block Post proc. FB Two versions of that function block have been developed: synchronous (time-driven) and asynchronous (event-driven) state machine. However, theoretical considerations and practical
5 experience have shown that the synchronous state machine will be the likely choice for time-critical and safety-critical applications Activities A function block diagram can be used to model an activity (Fig. 3), i.e. a process that is executed in response to a timing event (in time-driven systems) or to external events (in event-driven systems). Activities may be viewed as composite function blocks encapsulating the corresponding sequences of function block instances. Complex activity behaviour can be modelled by means of a state machine function block as shown on Fig. 4. A function unit activity is actually executed as a realtime task (activity task) operating in a dynamic scheduling environment. It can be implemented using a standard design pattern involving the invocation of the function block driver, which is used to activate the corresponding sequence of function block instances Function units One or more activities are encapsulated into function units. These are the software equivalent of largescale integrated circuits that can be used to implement autonomous subsystems, such as sensor, controller, actuator, operator station, etc. (Fig. 1). Activities may interact via internal softwiring, i.e. by exchanging signals via pointers that are used to access data locations from within different activities/function blocks. This may require mutual exclusion, whereby locking primitives are invoked transparently by interacting activities under the socalled System Ceiling Priority Protocol [7]. Activities interact with the outside world via signals provided by input and output signal drivers that may be invoked from within an activity task or by the real-time kernel (see next section). Function units are associated (softwired) with one another, so as to configure specific applications that are externally similar to LSI assemblies. However, the interaction between function units is implemented with a dedicated softwiring protocol featuring signalbased communication and transparent contentoriented message addressing. The protocol provides for basically two types of communication: - Asynchronous producer-consumer interaction, e.g. time-bounded broadcast/multicast of state variable messages. It is used to exchange signals between dynamic subsystems, which is sometimes denoted as horizontal communication. - Synchronous interactions, such as event-variable communication and client-server interaction. These are largely used to effect vertical communication, e.g. the communication between an operator station and various field devices, which may not be timecritical. The above protocol can be viewed as a software bus supporting transparent and highly flexible communication between function units in an open systems environment. More information about that protocol can be found in the papers [1], [7] presenting HARTEX - a distributed real-time kernel, which has been conceived as an operational environment for component-based systems conforming to the COMDES model of computation Function units in a timed-multitasking environment Function unit signal drivers may be invoked from within activities, e.g. at the beginning and at the end of activity execution, in the context of phase-aligned distributed transactions [2]. Whereas that is a conceptually simple interaction model suitable for a broad class of applications, it has a major shortcoming, i.e. task execution/communication jitter, and consequently output jitter, which is detrimental for time-critical applications. Jitter might be eventually eliminated in a static scheduling environment but this solution results in closed systems that are difficult to reconfigure and maintain. Another extremely promising approach has been recently developed, i.e. timed multitasking, which combines the advantages of static and dynamic scheduling and makes it possible to eliminate task and transaction execution jitter in a dynamic scheduling environment [8]. This technique has been applied to COMDES function units and encapsulated activities (Fig. 10). trigger data Fig. 10. Timed execution of activity data Deadline In a timed multitasking environment the signal drivers will be invoked by the real-time kernel at precisely specified time instants: the input driver (1 on Fig. 11) will be executed atomically when the task (2) is released and the output driver (3) when the task deadline arrives (or when the task comes to an end if no deadline has been specified). Deadline task is released Period Fig. 11. execution in the timed-multitasking model.
6 In this way, the function unit provides a standard execution framework for encapsulated activities, as against the purely conceptual definition of this type of component in the original COMDES specification [2]. The activity task is executed in a dynamic scheduling environment and its execution may exhibit completion time jitter. However, this bears no consequence as long as the task comes to an end before its deadline. That technique can be used with task sequences (transactions) and distributed transactions. The above approach has been extended to distributed embedded systems and the COMDES framework and is now supported by the latest version of the HARTEX kernel [3]. 4. CONCLUSION The paper has presented COMDES - a software framework for component-based embedded systems. The main features of the framework and the associated design method can be summarized as follows: System structure is specified with an object model that facilitates the implementation of open yet dependable systems: the system is built from reusable software components that are error-free by design. Furthermore, components interact via softwiring protocols providing for safe and predictable behaviour in an open systems environment. System behaviour is specified in terms of concurrent processes (activities) encapsulated in various subsystems, as well process interactions within and across subsystems. Individual process behaviour can be specified in terms of hybrid state machines. This is a powerful model, which takes into account both the reactive and the transformational aspects of system behaviour. Hence, it is applicable to a broad variety of embedded systems, such as continuous and sequential controllers, hybrid control systems, etc. The presented framework has been used to systematically develop design patterns for reusable components such as basic and composite function blocks, drivers, reconfigurable state machines, activities and function units. The adopted system model has been further elaborated using the concept of timed multitasking. This will make it possible to engineer componentbased systems that combine high flexibility inherent to dynamically scheduled systems and predictable jitter-free operation that is usually typical for their statically scheduled counterparts. 6. REFERENCES 1. Christo Angelov, Ivan Ivanov and Alan Burns: HARTEX - a safe real-time kernel for distributed computer control systems; Software: Practice and Experience, vol. 32, N 3, pp , March Christo Angelov and Krzysztof Sierszecki: Component-based design of software for distributed embedded systems; Proc. of the 16 th International Conference on Software and Systems Engineering ICSSEA 2003, Vol. 3, Session C. Angelov, J. Berthing, K. Sierszecki and N. Marian: Function unit specification in a timed multitasking environment, submitted for presentation to ICSSEA Edward Lee: Embedded software an agenda for research; UCB ERL Memorandum M99/63, University of California at Berkeley, December Edward Lee: What s ahead for embedded software; IEEE Computer, 2000, N 9, pp , September European Research Consortium for Informatics and Mathematics: ERCIM News, N 52, Special Issue on Embedded Systems, January Jesper Berthing and Christo Angelov: Highperformance task management and interaction for safe real-time kernels; CSI Seminar on Safety- Critical Software, Soenderborg, June 12, Jie Liu and Edward A. Lee: Timed multitasking for real-time embedded software; IEEE Control Systems Magazine "Advances in Software Enabled Control", February 2003, pp Miro Samek: Practical Statecharts in C/C++ Quantum Programming for Embedded Systems; CMP Books, Software technologies, embedded systems and distributed systems in FP6; Opening presentation to the Workshop on Software Technologies, Embedded Systems and Distributed Systems in the 6 th Framework Programme for EU Research, Brussels, Belgium, May 2, AIRES: Automatic integration of reusable embedded software; MoBIES: Model-based integration of embedded software; PECOS: Pervasive component systems, EU Project IST ; StateWORKS: Software as engineering;
A Timed Multitasking Architecture for Distributed Embedded Systems
A Timed Multitasking Architecture for Distributed Embedded Systems Christo Angelov Mads Clausen Institute for Product Innovation University of Southern Denmark Grundtvigs Alle 150, 6400 Soenderborg, Denmark
More informationGenerative Programming for a Component-based Framework of Distributed Embedded Systems
Generative Programming for a Component-based Framework of Distributed Embedded Systems Xu Ke, Krzysztof Sierszecki Mads Clausen Institute for Product Innovation, University of Southern Denmark Grundtvigs
More informationHardware-in-the-Loop Simulation of Component-Based Embedded Systems Guo, Yu; Zhou, Feng; Marian, Nicolae; Angelov, Christo K.
Syddansk Universitet Hardware-in-the-Loop Simulation of Component-Based Embedded Systems Guo, Yu; Zhou, Feng; Marian, Nicolae; Angelov, Christo K. Published in: Proceedings of the 8th International Workshop
More informationContemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.
Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful
More informationProgramming Languages for Real-Time Systems. LS 12, TU Dortmund
Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.
More informationIEC Implementation of Service Oriented Architecture: Case Study
IEEE Conference on Robotics and Automation (ICRA 14), Hong Kong, May, 2014, submitted IEC 61499 Implementation of Service Oriented Architecture: Case Study Valeriy Vyatkin, Luleå University of Technology,
More informationSimulation of LET Models in Simulink and Ptolemy
Simulation of LET Models in Simulink and Ptolemy P. Derler, A. Naderlinger, W. Pree, S. Resmerita, J. Templ Monterey Workshop 2008, Budapest, Sept. 24-26, 2008 C. Doppler Laboratory Embedded Software Systems
More informationCS4514 Real-Time Systems and Modeling
CS4514 Real-Time Systems and Modeling Fall 2015 José M. Garrido Department of Computer Science College of Computing and Software Engineering Kennesaw State University Real-Time Systems RTS are computer
More informationASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70
ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying
More information2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS
2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS 2.1 Real-Time and Control Computer based digital controllers typically have the ability to monitor a number of discrete and analog inputs, perform complex
More informationMichel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1)
THE ARCHITECTURE OF A HIGHLY INTEGRATED SIMULATION SYSTEM Michel Heydemann Alain Plaignaud Daniel Dure EUROPEAN SILICON STRUCTURES 72-78 Grande Rue - 92310 SEVRES - FRANCE tel : (33-1) 4626-4495 Abstract
More informationThe Service Availability Forum Platform Interface
The Service Availability Forum Platform Interface The Service Availability Forum develops standards to enable the delivery of continuously available carrier-grade systems with offthe-shelf hardware platforms
More informationSWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems
SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University
More informationDESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II
DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II Johan Eker, Chamberlain Fong, Jörn W. Janneck, Jie Liu Department of Electrical Engineering and Computer Sciences University of California
More informationIntegration of Simulink Models with Component-based Software Models
Integration of Simulink Models with Component-based Software Models Nicolae MARIAN, Søren TOP Mads Clausen Institute for Product Innovation, University of Southern Denmark Alsion 2, DK-6400 Sønderborg
More informationAnalysis and Design with the Universal Design Pattern
Analysis and Design with the Universal Design Pattern by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable. Software
More informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,
Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationAutomatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies
08AE-22 Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies Copyright 2007 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Scott Breiner John Deere ABSTRACT
More informationDSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin
Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer
More informationImpact of Platform Abstractions on the Development Workflow
Impact of Platform Abstractions on the Development Workflow Johannes Pletzer, Wolfgang Pree Technical Report September 7, 2009 C. Doppler Laboratory Embedded Software Systems University of Salzburg Austria
More informationHardware/Software Co-design
Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction
More informationREAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS
Malaysian Journal of Computer Science, Vol. 9 No. 1, June 1996, pp. 12-17 REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS Mohammed Samaka School of Computer Science Universiti Sains Malaysia
More informationComponent-Based Software Engineering TIP
Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.
More information2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.
T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular
More informationA PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING
A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING Frédéric Boulanger Supélec Département Informatique, 3 rue Joliot-Curie, 91192 Gif-sur-Yvette cedex, France Email: Frederic.Boulanger@supelec.fr Guy
More informationFILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas
FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given
More informationHierarchical FSMs with Multiple CMs
Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung
More informationA Modal Specification Approach for Assuring the Safety of On-Demand Medical Cyber-Physical Systems
A Modal Specification Approach for Assuring the Safety of On-Demand Medical Cyber-Physical Systems Lu Feng PRECISE Center Department of Computer and Information Science University of Pennsylvania lufeng@cis.upenn.edu
More informationis easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology
Preface The idea of improving software quality through reuse is not new. After all, if software works and is needed, just reuse it. What is new and evolving is the idea of relative validation through testing
More informationANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES
49. Internationales Wissenschaftliches Kolloquium Technische Universität Ilmenau 27.-30. September 2004 Holger Rath / Horst Salzwedel ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES Abstract
More informationA Case Study for HRT-UML
A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling
More informationSoftware Architecture. Lecture 4
Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check
More informationModel-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination
Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination Hassan Gomaa, Koji Hashimoto Department of Computer Science George Mason University Fairfax, VA, USA hgomaa@gmu.edu,
More informationKey Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability
Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Timothy C. Lethbridge Department of Electrical Engineering and Computer Science, University of Ottawa
More informationSystem Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)
Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07
More informationEmbedded Software Engineering
Embedded Software Engineering 3 Unit Course, Spring 2002 EECS Department, UC Berkeley Christoph Kirsch www.eecs.berkeley.edu/~fresco/giotto/course-2002 It s significant $4 billion development effort >
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING QUESTION BANK VI SEMESTER EE6602 EMBEDDED SYSTEMS Regulation 2013 Academic Year
More informationEstimation of worst case latency of periodic tasks in a real time distributed environment
Estimation of worst case latency of periodic tasks in a real time distributed environment 1 RAMESH BABU NIMMATOORI, 2 Dr. VINAY BABU A, 3 SRILATHA C * 1 Research Scholar, Department of CSE, JNTUH, Hyderabad,
More informationMultimedia Systems 2011/2012
Multimedia Systems 2011/2012 System Architecture Prof. Dr. Paul Müller University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Sitemap 2 Hardware
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationSeparating Product Variance and Domain Concepts in the Specification of Software Product Lines
Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Pertti Kellomäki Software Systems Laboratory, Tampere University of Technology P.O. Box 553, FIN-33101 Tampere,
More informationElevator Control System
Control System Koichiro Ochimizu School of Information Science Japan Advanced Institute of Science and Technology Schedule(3/3) March 2 3:00 Unified Process and COMET 4:30 Case Study of Control System
More informationJava for Real-Time Programming
Java for Real-Time Programming Jan Lindström (jplindst@cs.helsinki.fi) Helsinki 5th November 1998 University of Helsinki Department of Computer Science Seminar on Object Architectures, Fall 1998 1 1 Introduction
More informationEuropean Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions
European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited
More informationFROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS
FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS Peter Puschner and Raimund Kirner Vienna University of Technology, A-1040 Vienna, Austria {peter, raimund}@vmars.tuwien.ac.at Abstract Keywords:
More informationAn Object-Oriented HLA Simulation Study
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 15, No 5 Special Issue on Control in Transportation Systems Sofia 2015 Print ISSN: 1311-9702; Online ISSN: 1314-4081 DOI: 10.1515/cait-2015-0022
More informationFlight Systems are Cyber-Physical Systems
Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November
More informationSystem level modelling with open source tools
System level modelling with open source tools Mikkel Koefoed Jakobsen (mkoe@imm.dtu.dk) Jan Madsen (jan@imm.dtu.dk) Seyed Hosein Attarzadeh Niaki (shan2@kth.se) Ingo Sander (ingo@kth.se) Jan Hansen (jan@real-ear.com)
More informationSystem-On-Chip Architecture Modeling Style Guide
Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationCS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities
More informationComputer Hardware Requirements for Real-Time Applications
Lecture (4) Computer Hardware Requirements for Real-Time Applications Prof. Kasim M. Al-Aubidy Computer Engineering Department Philadelphia University Real-Time Systems, Prof. Kasim Al-Aubidy 1 Lecture
More informationPolicy-Based Context-Management for Mobile Solutions
Policy-Based Context-Management for Mobile Solutions Caroline Funk 1,Björn Schiemann 2 1 Ludwig-Maximilians-Universität München Oettingenstraße 67, 80538 München caroline.funk@nm.ifi.lmu.de 2 Siemens AG,
More informationA Top-Down Visual Approach to GUI development
A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084
More information2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.
T0/06-6 revision 2 Date: May 22, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation
More informationModule 4. Programmable Logic Control Systems. Version 2 EE IIT, Kharagpur 1
Module 4 Programmable Logic Control Systems Version 2 EE IIT, Kharagpur 1 Lesson 19 The Software Environment and Programming of PLCs Version 2 EE IIT, Kharagpur 2 Instructional Objectives After learning
More informationIn this Lecture you will Learn: System Design. System Architecture. System Architecture
In this Lecture you will Learn: System Design Chapter 13 The major concerns of system design The main aspects of system architecture, in particular what is meant by subdividing a system into layers and
More informationDistributed Systems Programming (F21DS1) Formal Verification
Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on
More informationAn Information Model for High-Integrity Real Time Systems
An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,
More informationŁabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)
UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous
More informationOverview of Microcontroller and Embedded Systems
UNIT-III Overview of Microcontroller and Embedded Systems Embedded Hardware and Various Building Blocks: The basic hardware components of an embedded system shown in a block diagram in below figure. These
More informationA framework for automatic generation of audio processing applications on a dual-core system
A framework for automatic generation of audio processing applications on a dual-core system Etienne Cornu, Tina Soltani and Julie Johnson etienne_cornu@amis.com, tina_soltani@amis.com, julie_johnson@amis.com
More informationCompositional Schedulability Analysis of Hierarchical Real-Time Systems
Compositional Schedulability Analysis of Hierarchical Real-Time Systems Arvind Easwaran, Insup Lee, Insik Shin, and Oleg Sokolsky Department of Computer and Information Science University of Pennsylvania,
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationChapter 2 IEC in a Nutshell
Chapter 2 IEC 61499 in a Nutshell This chapter gives a brief introduction of IEC 61499 that is tailored to fit the scope of this book and should be considered a summary of the basic concepts. In the first
More informationTITUS A Graphical Design Methodology for Embedded Automotive Software
TITUS A Graphical Design Methodology for Embedded Automotive Software Ulrich Freund, Alexander Burst, ETAS GmbH Stuttgart Abstract Vehicle body electronic software has reached a level of complexity and
More informationConcurrent Models of Computation
Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights
More informationA Comparison of the Booch Method and Shlaer-Mellor OOA/RD
A Comparison of the Booch Method and Shlaer-Mellor OOA/RD Stephen J. Mellor Project Technology, Inc. 7400 N. Oracle Rd., Suite 365 Tucson Arizona 85704 520 544-2881 http://www.projtech.com 2 May 1993 The
More informationEC EMBEDDED AND REAL TIME SYSTEMS
EC6703 - EMBEDDED AND REAL TIME SYSTEMS Unit I -I INTRODUCTION TO EMBEDDED COMPUTING Part-A (2 Marks) 1. What is an embedded system? An embedded system employs a combination of hardware & software (a computational
More informationTransforming UML Collaborating Statecharts for Verification and Simulation
Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University
More informationComponent-Based Software Engineering TIP
Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.
More informationMeltem Özturan
Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.
More informationSpecifications and Modeling
12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationEE249 Lab September 30 h, 2008 Hugo A. Andrade
High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart EE249 Lab September 30 h, 2008 Hugo A. Andrade Graphical System Design Platform Linux Macintosh Windows Real-Time FPGA Micro
More informationCoE CENTRE of EXCELLENCE ON DATA WAREHOUSING
in partnership with Overall handbook to set up a S-DWH CoE: Deliverable: 4.6 Version: 3.1 Date: 3 November 2017 CoE CENTRE of EXCELLENCE ON DATA WAREHOUSING Handbook to set up a S-DWH 1 version 2.1 / 4
More informationHow useful is the UML profile SPT without Semantics? 1
How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}
More informationCSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu
More informationSoftware Engineering: Integration Requirements
Software Engineering: Integration Requirements AYAZ ISAZADEH Department of Computer Science Tabriz University Tabriz, IRAN Abstract: - This paper presents a discussion of software integration requirements,
More informationAnnouncements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing
More informationNetwork protocols and. network systems INTRODUCTION CHAPTER
CHAPTER Network protocols and 2 network systems INTRODUCTION The technical area of telecommunications and networking is a mature area of engineering that has experienced significant contributions for more
More informationReal-time capable software agents on IEC systems Developing a tool supported method
Real-time capable software agents on IEC 61131 systems Developing a tool supported method Ursula Frank*, Josef Papenfort*, Daniel Schütz** *Beckhoff Automation GmbH, Verl, Germany (e-mail: j.papenfort@beckhoff.com,
More informationCSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review
CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, 2003 Review 1 Overview 1.1 The definition, objectives and evolution of operating system An operating system exploits and manages
More informationIterative Specification Refinement in Deriving Logic Controllers
17 th European Symposium on Computer Aided Process Engineering ESCAPE17 V. Plesu and P.S. Agachi (Editors) 2007 Elsevier B.V. All rights reserved. 1 Iterative Specification Refinement in Deriving Logic
More informationMulti-threaded, discrete event simulation of distributed computing systems
Multi-threaded, discrete event simulation of distributed computing systems Iosif C. Legrand California Institute of Technology, Pasadena, CA, U.S.A Abstract The LHC experiments have envisaged computing
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationchallenges in domain-specific modeling raphaël mannadiar august 27, 2009
challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing
More informationRole based Software Process Modelling
Role based Software Process Modelling Fadila Atil, Djamel Meslati, Nora Bounour & Said Ghoul * LRI Laboratory, University of Badji Mokhtar, BP 12, Annaba, Ageria * Institute of Computer science, university
More informationClass Inheritance and OLE Integration (Formerly the Common Object Model)
TM Class Inheritance and OLE Integration (Formerly the Common Object Model) Technical Overview Shawn Woods, Mike Vogl, and John Parodi August 1995 Digital Equipment Corporation Introduction This paper
More informationSelf-Managed Systems: an Architectural Challenge
Self-Managed Systems: an Architectural Challenge Kramer, Jeff and Magee, Jeff FOSE 07: 2007 Future of Software Engineering Summarized by Jason Porter Introduction A self-managed system is a system which
More informationRTC: Language Support for Real-Time Concurrency
RTC: Language Support for Real-Time Concurrency Insup Lee, Susan Davidson, and Victor Wolfe 1 Introduction The RTC (Real-Time Concurrency) programming concepts and language constructs for expressing timing
More informationAdvanced Grid Technologies, Services & Systems: Research Priorities and Objectives of WP
Advanced Grid Technologies, Services & Systems: Research Priorities and Objectives of WP 2005-06 06 IST Call 5 Preparatory Workshop Brussels, 31 Jan 1 Feb 2005 Enabling application Max Lemke Deputy Head
More informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationKeywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic CAD.
HARDWARE DESCRIPTION Mehran M. Massoumi, HDL Research & Development, Averant Inc., USA Keywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationCSCI 445 Amin Atrash. Control Architectures. Introduction to Robotics L. Itti, M. J. Mataric
Introduction to Robotics CSCI 445 Amin Atrash Control Architectures The Story So Far Definitions and history Locomotion and manipulation Sensors and actuators Control => Essential building blocks Today
More informationSymbolic Execution and Proof of Properties
Chapter 7 Symbolic Execution and Proof of Properties Symbolic execution builds predicates that characterize the conditions under which execution paths can be taken and the effect of the execution on program
More informationModeling and SW Synthesis for
Modeling and SW Synthesis for Heterogeneous Embedded Systems in UML/MARTE Hector Posadas, Pablo Peñil, Alejandro Nicolás, Eugenio Villar University of Cantabria Spain Motivation Design productivity it
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More information