Using Separation of Concerns for Embedded Systems Design. α=90

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Using Separation of Concerns for Embedded Systems Design. α=90"

Transcription

1 Using Separation of Concerns for Embedded Systems Design α=90 Ethan Jackson and Janos Sztipanovits EmSoft 05, Jersey City, New Jersey September 19, 2005

2 Part I Outline Introduction: Discuss major design aspects for specifying embedded systems Claim: The design aspects essential to system specification strongly interact, i.e. they are not orthogonal concerns Hypothesis: Specification tools should view these design aspects as nonorthogonal; this should produce more accurate system specifications Challenge: Can specification tools handle the additional complexity introduced by assuming non-orthogonal concerns? Results: Model integrated computing (MIC) already provides constructs for implementing such specification systems. We show an example system for the SR MoC.

3 Aspects of Embedded System Specification An embedded system specification is commonly partitioned into design aspects, where each design aspect 1. quantifiably affects the system dynamics 2. cross-cuts the system 3. has behavioral invariants Behavioral, Computational Concern: A set of stateless, n-ary mappings Interaction Model, Architectural Concern: Point-to-point communication buffers of finite length. Blocking read, non-blocking write. Time Model, Scheduler, Coordination Concern: Executes operators which takes a fixed time t, when their data dependencies are met.

4 Often these concerns are claimed to be orthogonal As an example, we will apply the orthogonal concern assumption to the behavioral design aspect. obj name Transform T Use-cases are Transform(o, NULL) and Transform(NULL, n). In a time-triggered language like Giotto this behavior works as expected. Sensors periodically sample environment and write results s1 s2 obj name Transform T Periodically: read inputs; take t time; write outputs This works as expected

5 But this assumption can cause wrong designs Designer knows this specification of the transform operation, and applies orthogonal concerns when using this operation. Behavioral Specification: If there is an object, apply to the object. Otherwise, if there is a name apply to the object with that name. Under the SR interaction model this assumption leads to an incorrect system o 3 o 2 o 1 obj Transform T o 3 err err o 1 n 3 n 2 n 1 name Problem: NULL value has semantics of absence at behavioral level, and this conflicts with semantics of absence at interaction level. o 3 o 2 o 1 obj n 3 n 2 n 1 name TObj TName Merge o 4 o 3 o 2 o 1 T Transform

6 Non-orthogonal concerns Formal Semantics In the formal semantics each design aspect is a mathematical model, and the system dynamics result from the formal composition of these models. Scheduler: dynamic priority rules Interaction Model: Connectors + Interactions B E H A V I O R These layers interact in non-trivial ways. Example of component layering Parts of component layering Example of interaction model Graphics taken from GÖSSLER, G., AND SIFAKIS, J. Composition for component-based modeling. In Proceedings of FMCO02 (November 2002), vol. 2852, LNCS, pp

7 Non-orthogonal concerns Simulation In simulation the total dynamics results from complex interactions between concerns. Similar results hold for analysis. Ptolemy: Director and actors interact Graphics taken from E. LEE, S. NEUENDORFFER, AND M. J. WIRTHLIN Actor-oriented design of embedded hardware and software systems. Journal of Circuits, Systems, and Computers 12, 3 (2003), Metropolis: Processes and Quantity Managers interact Graphics taken from G. YANG, Y. WATANABE, F. BALARIN, AND A. SANGIOVANNI-VINCENTELLI Separation of Concerns: Overhead in modeling and efficient simulation techniques. In Fourth ACM International Conference on Embedded Software (EMSOFT 04) (September 2004).

8 Orthogonal Concerns is a Simplifying Assumption The essential design aspects for embedded system specification are not orthogonal. 1. non-trivially interact as defined in their formal semantics 2. non-trivially interact during simulation 3. non-trivially interact during analysis Claim: Designers of specification tools use the notion of orthogonal concerns to simplify the design of the specification tool. Component = B I S In reality Specification = B I S In the specification tool

9 More accurate specifications Hypothesis: Non-orthogonal concerns at the specification level would mean a tool that reflects in the specification, how parts of the specification interact. Such an approach would lead to more accurate specifications Constraint-based overlap: Changes to one concern imply checkable constraints on other concerns Generative overlap: Changes to one concern actively cause changes to another concern B Component = ( B I ) S Key observation: The formal semantics directly affects the specification tool. We want a semantics that induces reasonable overlap: Avoid a exponential-time constraints; avoid fixed-point generative overlap.

10 Part II Outline Goal: A non-orthogonal specification tool for synchronous reactive (SR) systems. Reformulate the semantics: Need a formulation that induces explicit and manageable overlap between concerns. WARNING: May not look like SR in the beginning. Define the overlap: Characterize the constraint-based and generative overlap Apply MIC: Concepts from MIC can be used to create a specification tool Demo: SMOLES2 Modeling Environment implements nonorthogonal concerns within the meta-programmable tool GME (Poster Session)

11 Reformulating the SR Semantics After trying several approaches, a controls approach showed the most promise. Controller Plant Primitive Behaviors Primitive behaviors are stateless n-ary mappings that consume all n inputs to produce all m outputs A plant is an untimed non-deterministic, dead-lock prone dataflow system with bounded-memory A controller restricts the plant through controllable actions to produce deadlockfree deterministic behavior, and provides a timeline for events. A correctly specified system is boundedmemory, deadlock-free, and deterministic assuming zero logical time for computation (SR).

12 The Plant Dynamics A plant is similar to an SDF system with rate 1 for all operators, specifically: 1. Fire Once: An operator can fire at most once per run. 2. Eventually Fire: An operator that can fire will eventually fire. 3. Write Once: A connection can carry at most one token per run. 4. Consumption: A token waiting on an input must be consumed during the run in which it was produced. 5. End: A run ends after neither (2) nor (4) can occur. 6. Reset: After a run ends, all unconsumed tokens are discarded.

13 Consistency Requirements We only require that the dataflow graph use bounded memory. There are two possible case that could invalidate this property. A dangling input could cause tokens to pile up, leading to unbounded memory. This can be prevented by requiring this simple constraint: A cycle that is fed by a schedulable operator also causes a piling up of tokens, and violates the consumption requirement. This can also be prevented by requiring: *These are two constraints because the checking algorithms are quite different.

14 Controllable Actions The plant exposes some controllable actions that affect its execution. Action Produced By Description RunStart Controller Starts a run of the dataflow graph RunEnded Plant Indicates run has completed Clear Controller Resets system to initial state. Defined before a RunStart and after a RunEnded Peek/Values Controller/Plant Indicates controller wants to observe input vector. Defined before a RunStart and after a RunEnd. Remove Controller Removes a dataflow operator from the graph. Defined before a RunStart and after a RunEnded. *A controller is valid if it produces a defined sequence of control inputs that do not put the graph in an illegal configuration.

15 The Controller Structure A mode is a global configuration of the computational system (in this case a dataflow graph). A controller is a set of test-mode pairs (t,m) where if t is true, then the controller configures the system to mode m. Example Controller Tests derived from input assignments Example Plant Applications of Controller Controllers can require data dependent tests, for example:

16 Inherited Consistency Requirements A mode is structurally constrained so that it produces control signals that are relevant to the plant. This constraint can be captured by the following generative action Whenever v added to d add a u to every mode M and φ(u) = v These generative actions are extended to all modifications of the dataflow graph. Even with this constraint a controller may place the dataflow in an invalid configuration, so we require this constraint.

17 Consistency Requirements The controller should remove deadlocks and non-determinism from the dataflow. We can check these properties by checking the modes. Modes with cycles of present operators allow deadlock. Modes with present operators writing to the same edge allow non-determinism. We extend these rules for different pieces of control information by defining a semi-lattice for each interaction context: present, absent, constant, don t care. Join of lattice defines correctness for merging

18 Example Behavioral Concern Data Interaction Concern Simulation of the specification with and without the controller Timed Control Concern

19 Bringing It Together - Implementing the tool We have implemented a specification tool using the meta-programmable tool framework GME. Approximation algorithms for causality (deadlockfreedom) loops, approximation for non-determinism Approximation for Component Composition Generative mode topology Monochronous interactions (encoded in semilattices) Operator Library Must instantiate operator Checks for unbounded memory

20 MIC Concepts 1. A metamodel (UML Class Diagram) defines model structure 2. Modeling aspects partition structure into modeling views 3. Cross-aspect interactions like type instantiation and referencing permits aspects to interact. 4. Built in constraint engine automatically checks simple constraints 5. A generative engine builds portions of the model in one aspect when changes occur in another aspect. 6. An approximation engine checks for approximate causality violations and non-deterministic behavior Aspect Reference Type instance Generatively implied op

21 Extensions, Conclusions, and Future Work Hierarchical composition is an important modeling feature and we have incorporated it into our semantics/tools. Reformulating the semantics has a trickle down effect on simulation and analysis. We have constructed a simulator (as described in the paper) and we are completing an analysis engine that incorporates analysis techniques from synchronous languages with interface automata. In conclusion, non-orthogonal aspects can be implemented with current MIC techniques. Our future work will generalize this methodology in several ways: 1. Extend methodology to other formal semantics 2. Extend metamodeling language to facilitate generative actions 3. Apply concepts to semantic anchoring and semantic units.

22 Thank You Questions? Please come see demo during poster session

Composition for Component-Based Modeling

Composition for Component-Based Modeling Composition for Component-Based Modeling Gregor Gössler 1 and Joseph Sifakis 2 1 INRIA Rhône-Alpes, goessler@inrialpes.fr 2 VERIMAG, sifakis@imag.fr 1 Introduction Component-based engineering is of paramount

More information

LabVIEW Based Embedded Design

LabVIEW Based Embedded Design LabVIEW Based Embedded Design Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com Abstract

More information

Process-Based Software Components for Networked Embedded Systems

Process-Based Software Components for Networked Embedded Systems Process-Based Software Components for Networked Embedded Systems Edward A. Lee, PI UC Berkeley Core Technical Team (Mobies, SEC, and GSRC): Christopher Hylands, Mary P. Stewart, Joern Janneck, Sonia Sachs,

More information

Model Engineering using Multimodeling

Model Engineering using Multimodeling Model Engineering using Multimodeling Christopher Brooks (UC Berkeley) Chih-Hong Cheng (UC Berkeley & TU Munich) Thomas Huining Feng (UC Berkeley) Edward A. Lee (UC Berkeley) Reinhard von Hanxleden (Christian-Albrechts-Univ.

More information

Compliance and Requirement Traceability for SysML v.1.0a

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

More information

CPO Semantics of Timed Interactive Actor Networks

CPO Semantics of Timed Interactive Actor Networks CPO Semantics of Timed Interactive Actor Networks Xiaojun Liu Edward A. Lee Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2006-67 http://www.eecs.berkeley.edu/pubs/techrpts/2006/eecs-2006-67.html

More information

Design of High-Performance Embedded System using Model Integrated Computing 1

Design of High-Performance Embedded System using Model Integrated Computing 1 This submission addresses: Recent research advances in MoDES Design of High-Performance Embedded System using Model Integrated Computing 1 Sumit Mohanty and Viktor K. Prasanna Dept. of Electrical Engineering

More information

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems System modeling Business process modeling how to do it right Partially based on Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, J Koehler, J Vanhatalo, IBM Zürich, 2007.

More information

System Behaviour Analysis with UML and Ptolemy. Scope and goals

System Behaviour Analysis with UML and Ptolemy. Scope and goals Information included in this document are group's own property. These ones shall not be disclosed without the prior wirtten consent of Optronique. System Behaviour Analysis with UML and Ptolemy 4 th Biennal

More information

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel Informatik 12 TU Dortmund Germany

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel Informatik 12 TU Dortmund Germany 12 Data flow models Peter Marwedel Informatik 12 TU Dortmund Germany Models of computation considered in this course Communication/ local computations Communicating finite state machines Data flow model

More information

42: A Component-Based Approach to Virtual Prototyping of Heterogeneous Embedded Systems

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

More information

Rapid Prototyping and Deployment of User-to-User Networked Applications

Rapid Prototyping and Deployment of User-to-User Networked Applications Rapid Prototyping and Deployment of User-to-User Networked Applications Wan-Teh Chang Department of Electrical Engineering and Computer Sciences University of California at Berkeley DSP SEMINAR, 3 MAY

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

2004 Kasse Initiatives, LLC

2004 Kasse Initiatives, LLC Interfaces SE Tutorial Interfaces - 1 The Importance of Interfaces Interface development is a Systems Engineering activity because of the basic need to break down large problems into many related smaller

More information

On some Potential Research Contributions to the Multi-Core Enterprise

On some Potential Research Contributions to the Multi-Core Enterprise On some Potential Research Contributions to the Multi-Core Enterprise Oded Maler CNRS - VERIMAG Grenoble, France February 2009 Background This presentation is based on observations made in the Athole project

More information

System Modeling Introduction Rugby Meta-Model Finite State Machines Petri Nets Untimed Model of Computation Synchronous Model of Computation Timed Model of Computation Integration of Computational Models

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Presented at the Thirty-second Annual Asilomar Conference on Signals, Systems, and Computers. Pacific Grove, California, U.S.A., November 1998 Software Synthesis from Dataflow Models for G and LabVIEW

More information

5 Program Correctness

5 Program Correctness 5 Program Correctness 5.1. Introduction For any application, the designer of a distributed system has the responsibility of certifying the correctness of the system, before users start using it. This guarantee

More information

Sequential Circuits: Latches & Flip-Flops

Sequential Circuits: Latches & Flip-Flops Sequential Circuits: Latches & Flip-Flops Sequential Circuits Combinational Logic: Output depends only on current input Able to perform useful operations (add/subtract/multiply/encode/decode/ select[mux]/etc

More information

i. Node Y Represented by a block or part. SysML::Block,

i. Node Y Represented by a block or part. SysML::Block, OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes

More information

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling Budapest University of Technology and Economics Department of Measurement and Information Systems Business Process Modeling Process, business process Workflow: sequence of given steps executed in order

More information

Throughput constraint for Synchronous Data Flow Graphs

Throughput constraint for Synchronous Data Flow Graphs Throughput constraint for Synchronous Data Flow Graphs *Alessio Bonfietti Michele Lombardi Michela Milano Luca Benini!"#$%&'()*+,-)./&0&20304(5 60,7&-8990,.+:&;/&."!?@A>&"'&=,0B+C. !"#$%&'()* Resource

More information

TD 271 Rev.1 (PLEN/15)

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:

More information

Testing Real-Time Systems Using UPPAAL

Testing Real-Time Systems Using UPPAAL 1 Testing Real-Time Systems Using UPPAAL Anders Hessel, Kim G. Larsen, Marius Mikucionis, Brian Nielsen, Paul Pettersson, and Arne Skou. 2008 Selected Topics Software Technology 2 Jorge Santos Simón u

More information

New Constructive Approach to Covert Channel Modeling and Channel Capacity Estimation

New Constructive Approach to Covert Channel Modeling and Channel Capacity Estimation 498 New Constructive Approach to Covert Channel Modeling and Channel Capacity Estimation Zhenghong Wang and Ruby B. Lee Department of Electrical Engineering, Princeton University Princeton, NJ 08544, USA

More information

Overview. Software Design Principles and Guidelines 9/14/09. Adam Porter. Design Principles. Design Guidelines

Overview. Software Design Principles and Guidelines 9/14/09. Adam Porter. Design Principles. Design Guidelines Software Design Principles and Guidelines Adam Porter Overview Design Principles Important design concepts Useful design principles Design Guidelines Motivation Design Rules of Thumb 1 Goals of the Design

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.080/6.089 GITCS Feb 12, 2008. Lecture 3 6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Center for Hybrid and Embedded Software Systems

Center for Hybrid and Embedded Software Systems Center for Hybrid and Embedded Software Systems College of Engineering, University of California at Berkeley Presented by: Edward A. Lee, EECS, UC Berkeley Citris Founding Corporate Members Meeting, Feb.

More information

Design of Controllers for Plug-And-Play Composition of Automated Systems from Smart Mechatronic Components

Design of Controllers for Plug-And-Play Composition of Automated Systems from Smart Mechatronic Components Design of Controllers for Plug-And-Play Composition of Automated Systems from Smart Mechatronic Components Valeriy Vyatkin* and Hans-Michael Hanisch** *The University of Auckland, New Zealand v.vyatkin@auckland.ac.nz

More information

VHDL Code Generation in the Ptolemy II Environment

VHDL Code Generation in the Ptolemy II Environment VHDL Code Generation in the Ptolemy II Environment Man-Kit Leung Terry Esther Filiba Vinayak Nagpal Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No.

More information

The Kiel Reactive Processor

The Kiel Reactive Processor The Kiel Reactive Processor Reactive Processing beyond the KEP Claus Traulsen Christian-Albrechts Universität zu Kiel Synchron 2007 29. November 2007 Claus Traulsen The Kiel Reactive Processor Slide 1

More information

System Modelingg Models of Computation and their Applications Axel Jantsch Laboratory for Electronics and Computer Systems (LECS) Royal Institute of Technology, Stockholm, Sweden February 4, 2005 System

More information

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

Modelling Workflow with Petri Nets. CA4 BPM PetriNets Modelling Workflow with Petri Nets 1 Workflow Management Issues Georgakopoulos,Hornick, Sheth Process Workflow specification Workflow Implementation =workflow application Business Process Modelling/ Reengineering

More information

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

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

More information

Entity and architecture

Entity and architecture A VHDL review EPFL Entity and architecture A piece of hardware is visualized as a "black box". The interface of the black box is well defined, while its inside is invisible In VHDL the black box is known

More information

Counter/shift-register model. State machine model (cont d) General state machine model

Counter/shift-register model. State machine model (cont d) General state machine model CSE 37 Spring 26 Introduction to igital esign Lecture 8: Moore and Mealy Machines Last Lecture Finite State Machines Today Moore and Mealy Machines Counter/shift-register model Values stored in registers

More information

Aeroflex Colorado Springs Application Note

Aeroflex Colorado Springs Application Note Aeroflex Colorado Springs Application Note AN-SPW-004-002 SpaceWire Explained in Six Pages Table 1: Cross Reference of Applicable Products Product Name: Manufacturer Part SMD # Device Internal PIC* Number

More information

Information Science 1

Information Science 1 Topics covered Information Science 1 Terms and concepts from Week 05 The software development process Program'Development /Algorithms'and'Problem'Solving/'' ' software software life cycle life-cycle models

More information

TEACHING PLAN FOR THEORY. Subject: Object Oriented Analysis & Design Class: FYMCA Branch: Engg Year Lecture No

TEACHING PLAN FOR THEORY. Subject: Object Oriented Analysis & Design Class: FYMCA Branch: Engg Year Lecture No TEACHING PLAN FOR THEORY 1 02/01/17 2 03/01/17 3 04/01/17 4 05/01/17 5 06/01/17 6 09/01/17 7 10/01/17 8 11/01/17 9 12/01/17 10 13/01/17 11 17/01/17 12 18/01/17 13 19/01/17 14 20/01/17 15 23/01/17 16 24/01/17

More information

A New Paradigm for Synchronous State Machine Design in Verilog

A New Paradigm for Synchronous State Machine Design in Verilog A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital

More information

Layered Approach to Development of OO War Game Models Using DEVS Framework

Layered Approach to Development of OO War Game Models Using DEVS Framework Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701

More information

EE 110 Practice Problems for Final Exam: Solutions

EE 110 Practice Problems for Final Exam: Solutions EE 1 Practice Problems for Final Exam: Solutions 1. Finite State Machines: Sequence Recognizer You want to build a finite state machine that will recognize the sequence x = and output the sequence z =

More information

The SPES Methodology Modeling- and Analysis Techniques

The SPES Methodology Modeling- and Analysis Techniques The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München boehmw@in.tum.de Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT

More information

: ASYNCHRONOUS FINITE STATE MACHINE DESIGN: A LOST ART?

: ASYNCHRONOUS FINITE STATE MACHINE DESIGN: A LOST ART? 2006-672: ASYNCHRONOUS FINITE STATE MACHINE DESIGN: A LOST ART? Christopher Carroll, University of Minnesota-Duluth Christopher R. Carroll earned his academic degrees from Georgia Tech and from Caltech.

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) System Design&Methodologies Fö 1&2-1 System Design&Methodologies Fö 1&2-2 Course Information System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) TDTS30/TDDI08

More information

Outline. Hardware Description Language. Programming language. 1. Overview on hardware description language

Outline. Hardware Description Language. Programming language. 1. Overview on hardware description language Outline Hardware Description Language 1. Overview on hardware description language 2. Basic VHDL Concept via an example 3. VHDL in development flow 1 2 Programming language 1. Overview on hardware description

More information

Diagram Definition Third OMG/Eclipse Symposium 25 March 2012

Diagram Definition Third OMG/Eclipse Symposium 25 March 2012 Diagram Definition Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.com Senior Software Engineer IBM Rational Modelling Tools Outline The Need for Diagram Definition Existing Diagram

More information

Virtual Time and Timeout in Client-Server Networks

Virtual Time and Timeout in Client-Server Networks Virtual Time and Timeout in Client-Server Networks Jayadev Misra July 13, 2011 Contents 1 Introduction 2 1.1 Background.............................. 2 1.1.1 Causal Model of Virtual Time...............

More information

Trends in Embedded Software Engineering

Trends in Embedded Software Engineering Trends in Embedded Software Engineering Prof. Dr. Wolfgang Pree Department of Computer Science Universität Salzburg cs.uni-salzburg.at MoDECS.cc PREEtec.com Contents Why focus on embedded software? Better

More information

Abstraction levels of embedded systems

Abstraction levels of embedded systems Abstraction levels of embedded systems Peter Braun and Martin Rappl Lehrstuhl für Software & Systems Engineering Prof. Broy Technische Universität München, Arcisstraße 2, D-80333 München, Germany Tel.:

More information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware

More information

Optimal Technology Mapping and Cell Merger for Asynchronous Threshold Networks

Optimal Technology Mapping and Cell Merger for Asynchronous Threshold Networks Optimal Technology Mapping and Cell Merger for Asynchronous Threshold Networks Cheoljoo Jeong Steven M. Nowick Department of Computer Science Columbia University Outline Introduction Background Technology

More information

Shawn A new approach to simulating wireless sensor networks. Simulation Models. Components of a Discrete-Event Simulation.

Shawn A new approach to simulating wireless sensor networks. Simulation Models. Components of a Discrete-Event Simulation. Shawn A new approach to simulating wireless sensor networks Christos Koninis Simulation Models Continuous model: the state variables change in a continuous way, and not abruptly from one state to another

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

Building Confidence in the Quality and Reliability of Critical Software

Building Confidence in the Quality and Reliability of Critical Software Building Confidence in the Quality and Reliability of Critical Software Jay Abraham, MathWorks Jon Friedman, MathWorks Abstract. Software in critical civilian and military aerospace applications, including

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

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

More information

A SMART SENSOR BUS FOR DATA ACQUISITION

A SMART SENSOR BUS FOR DATA ACQUISITION A SMART SENSOR BUS FOR DATA ACQUISITION Lee H. Eccles Boeing Commercial Airplane Company P. O. Box 3707, M/S 14-ME Seattle, Wa 98124-2207 E-MAIL lee.h.eccles@boeing.com ABSTRACT This paper discusses a

More information

ECE 333: Introduction to Communication Networks Fall 2001

ECE 333: Introduction to Communication Networks Fall 2001 ECE 333: Introduction to Communication Networks Fall 2001 Lecture 17: Medium Access Control V Perfectly scheduled approaches Token ring networks 1 We have categorized channel allocation techniques as either

More information

AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS

AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF

More information

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay, Aniruddha Gokhale*, Douglas Schmidt Institute for Software Integrated Systems Vanderbilt University, Nashville

More information

Formalizing Software. Role of Formalism in Software Architecture. Informal Descriptions Have Problems. Are Pictures Enough? Models and Analysis

Formalizing Software. Role of Formalism in Software Architecture. Informal Descriptions Have Problems. Are Pictures Enough? Models and Analysis Formalizing Software Architectures EEC 625 Lecture #8 Role of Formalism in Software Architecture Architectures are typically abstract models of systems. February 13, 2006 EEC 625: Software Design & Architecture

More information

Design of Embedded Systems: Formal Models, Validation, and Synthesis

Design of Embedded Systems: Formal Models, Validation, and Synthesis Design of Embedded Systems: Formal Models, Validation, and Synthesis S. Edwards, L. Lavagno, E. A. Lee, and A. Sangiovanni-Vincentelli November 5, 1999 Abstract This paper addresses the design of reactive

More information

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102

More information

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1

More information

Representing Reversible Cellular Automata with Reversible Block Cellular Automata

Representing Reversible Cellular Automata with Reversible Block Cellular Automata Discrete Mathematics and Theoretical Computer Science Proceedings AA (DM-CCG), 2001, 145 154 Representing Reversible Cellular Automata with Reversible Block Cellular Automata Jérôme Durand-Lose Laboratoire

More information

To debug an embedded system,

To debug an embedded system, SOFTWARE / HARDWARE INTEGRATION Use capable triggering features to zero in on problems. Doug Beck, Hewlett-Packard Understanding Logic Analyzer Triggering To debug an embedded system, you need to monitor

More information

Factory Acceptance Testing Guideline

Factory Acceptance Testing Guideline Factory Acceptance Testing Comments on this report are gratefully received by Johan Hedberg at SP Swedish National Testing and Research Institute mailto:johan.hedberg@sp.se -1- Summary According to the

More information

3. Formal Features of Petri Nets

3. Formal Features of Petri Nets 3. Formal Features of Petri Nets Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Softwaretechnologie http://st.inf.tu-dresden.de 14-0.1, 10/29/14 Lecturer:

More information

Certification Authorities Software Team (CAST) Position Paper CAST-13

Certification Authorities Software Team (CAST) Position Paper CAST-13 Certification Authorities Software Team (CAST) Position Paper CAST-13 Automatic Code Generation Tools Development Assurance Completed June 2002 NOTE: This position paper has been coordinated among the

More information

Transparent Monitoring of a Process Self in a Virtual Environment

Transparent Monitoring of a Process Self in a Virtual Environment Transparent Monitoring of a Process Self in a Virtual Environment PhD Lunchtime Seminar Università di Pisa 24 Giugno 2008 Outline Background Process Self Attacks Against the Self Dynamic and Static Analysis

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

8.5 PETRI NETS. Figure A computer program. Figure 8.5.2

8.5 PETRI NETS. Figure A computer program. Figure 8.5.2 8.5 PETRI NETS Consider the computer program shown in Figure 8.5.1. Normally, the instructions would be processed sequentially first, A = 1, then B = 2, and so on. However, notice that there is no logical

More information

Software Engineering

Software Engineering Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in

More information

collaborative development of interactive software systems software architecture for immersipresence

collaborative development of interactive software systems software architecture for immersipresence collaborative development of interactive software systems software architecture for immersipresence alexandre r.j. françois visiting assistant professor of computer science tufts university research assistant

More information

Modeling and Validation of a Data Process Unit Control for Space Applications

Modeling and Validation of a Data Process Unit Control for Space Applications 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,

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

Lesson 4: Software for embedding in a System- Part 1 ROM image, Programming Languages and Program models

Lesson 4: Software for embedding in a System- Part 1 ROM image, Programming Languages and Program models Lesson 4: Software for embedding in a System- Part 1 ROM image, Programming Languages and Program models 1 Outline ROM image Programming Languages Program models 2 1. ROM Image Final stage software also

More information

A Classification of Concurrency Failures in Java components. Brad Long, Paul Strooper The University of Queensland, Australia

A Classification of Concurrency Failures in Java components. Brad Long, Paul Strooper The University of Queensland, Australia A Classification of Concurrency Failures in Java components Brad Long, Paul Strooper The University of Queensland, Australia Overview Issues in testing concurrent java components Solution for testing concurrency

More information

KEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report

KEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report MASTER COPY KEEP THIS COPY FOR REPRODUCTION PURPOSES 1 Form Approved REPORT DOCUMENTATION PAGE I OMS No. 0704-0188 Public reoorting burden for this collection of information is estimated to average I hour

More information

The objective of this supplemental material is to provide guidelines for writing VHDL code for synthesis.

The objective of this supplemental material is to provide guidelines for writing VHDL code for synthesis. Lab 4: Supplemental Material Writing VHDL code for synthesis EE-459/500 HDL Based Digital Design with Programmable Logic Electrical Engineering Department, University at Buffalo Last update: Cristinel

More information

Project 1: Register-Transfer Level (RTL) Design (A Simple Datapath and Control Unit) Instructor: Yifeng Zhu Full Score: 100 Due: September 22 (Monday)

Project 1: Register-Transfer Level (RTL) Design (A Simple Datapath and Control Unit) Instructor: Yifeng Zhu Full Score: 100 Due: September 22 (Monday) Project 1: Register-Transfer Level (RTL) Design (A Simple Datapath and Control Unit) Instructor: Yifeng Zhu Full Score: 100 Due: September 22 (Monday) Submit your report and project files through http://www.eece.maine.edu/hw/

More information

Recurrent Neural Networks

Recurrent Neural Networks Recurrent Neural Networks Neural Computation : Lecture 12 John A. Bullinaria, 2015 1. Recurrent Neural Network Architectures 2. State Space Models and Dynamical Systems 3. Backpropagation Through Time

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

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

More information

Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001

Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 A comparison of the OpenGIS TM Abstract Specification with the CIDOC CRM 3.2 Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 1 Introduction This Mapping has the purpose to identify, if the OpenGIS

More information

MEng, BSc Applied Computer Science

MEng, BSc Applied Computer Science School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions

More information

Concepts of Concurrent Computation

Concepts of Concurrent Computation Chair of Software Engineering Concepts of Concurrent Computation Bertrand Meyer Sebastian Nanz Lecture 3: Synchronization Algorithms Today's lecture In this lecture you will learn about: the mutual exclusion

More information

Introduction to Computers and Programming. Testing

Introduction to Computers and Programming. Testing Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software

More information

Sequential Logic. SR Latch

Sequential Logic. SR Latch n 2/24/3 Sequential Logic Outputs of sequential logic depend on current inputs and prior input values Sequential logic might explicitly remember certain previous inputs, or it might distill (encode) the

More information

Lecture 1-4. Architecture: Design Principles

Lecture 1-4. Architecture: Design Principles 6.976/ESD.937 Quantitative Foundations of Engineering Systems Feb 13-15-21, 2006 Lecturer: D. Shah and S. Mitter Lecture 1-4 Scribe: J. Laracy and D. Shah Architecture: Design Principles Architecture is

More information

Chapter 4: More on State Space

Chapter 4: More on State Space Chapter 4: More on State Space Mike Keating 6/15/2008 State space is a key metric for the complexity of a digital design. For most designs, it is the most important metric: the size of the control state

More information

Cloud Computing is NP-Complete

Cloud Computing is NP-Complete Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,

More information

SysML vs. UML 2: A Detailed Comparison. Pascal Roques MoDELS 11 Tutorial October 16th, 2011

SysML vs. UML 2: A Detailed Comparison. Pascal Roques MoDELS 11 Tutorial October 16th, 2011 SysML vs. UML 2: A Detailed Comparison Pascal Roques MoDELS 11 Tutorial October 16th, 2011 The Speaker: Pascal Roques Senior Consultant & Trainer, > 20 years experience in modeling SADT, OMT, UML, SysML

More information

An Overview of a Compiler

An Overview of a Compiler An Overview of a Compiler Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Outline of the Lecture About the course

More information

Addressing Modeling Challenges in Cyber-Physical Systems

Addressing Modeling Challenges in Cyber-Physical Systems Addressing Modeling Challenges in Cyber-Physical Systems Patricia Derler Edward A. Lee Alberto L. Sangiovanni-Vincentelli Electrical Engineering and Computer Sciences University of California at Berkeley

More information

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the

More information