Les systèmes embarqués - Nouveaux défis scientifiques pour l'informatique

Size: px
Start display at page:

Download "Les systèmes embarqués - Nouveaux défis scientifiques pour l'informatique"

Transcription

1 Les systèmes embarqués - Nouveaux défis scientifiques pour l'informatique Joseph Sifakis Laboratoire VERIMAG Grenoble 7 avril 2010

2 The Evolution of Informatics Scientific Computing Defence Applications Convergence between Computing and Telecommunications Graphic Interfaces, Mouse WEB Information Society Multi-core Systems Foundations - Alan Turing, Kurt Gödel Embedded Systems: Computing + Physicality Seamless revolution 95% of chips are embedded Information Systems: Commercial Applications Integrated circuits The Internet of Things: Convergence between Embedded Systems and the Web Informatics is a young discipline, driven by exponential growth of components and their applications.

3 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 3

4 Embedded Systems An Embedded System integrates software and hardware jointly and specifically designed to provide given functionalities, which are often critical. 4

5 The Embedded Systems Explosion Exploding annual microprocessor + shipments the fast growing market for embedded systems 14,000 # Millions 12,000 world population Microprocessors + 10,000 PCs 8,000 6,000 4,000 2,000 0 '80 '82 '84 '86 '88 '90 '92 '94 '98 '02 Source: Royal Philips Electronics Year

6 Embedded systems - Trends Embedded systems break with traditional Computing Systems Engineering. It is hard to jointly meet technical requirements such as: Reactivity: responding within known and guaranteed delay Ex : flight controller Autonomy: provide continuous service without human intervention Ex : no manual start, optimal power management Robustness: guaranteed minimal service in any case Ex : attacks, hardware failures, software execution errors Scaleability: at runtime or evolutionary growth (linear performance increase with resources) Ex : reconfiguration, scalable services...and also take into account economic requirements for optimal cost/quality Technological challenge : Capacity to build systems of guaranteed functionality and quality, at an acceptable cost 6

7 Embedded Systems - State of the Art We master at a high cost two types of systems which are difficult to integrate: TOMORROW TODAY Critical systems of low complexity Flight controller Complex «best effort» systems Telecommunication systems We need: Affordable critical systems Ex : transport, health, energy management Successful integration of heterogeneous systems of systems Convergence web/embedded systems (internet of things) Automated Highways New generation air traffic control «Ambient Intelligence»

8 Air Traffic Control the Next Generation Is it attainable? 8

9 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 9

10 System design Physics Informatics Theory for building artifacts with predictable behavior Lack of results allowing constructivity Suggested by T. Henzinger: T. Henzinger, J. Sifakis The Embedded Systems Design Challenge FM06

11 System Design a long way to go Design of Large IT systems Designing microprocessors, mobile telecommunication platforms, web application platforms is a risky undertaking, mobilizing hundreds of engineers over several years. Difficulties Complexity mainly for building systems by reusing existing components Requirements are often incomplete, and ambiguous (specified in natural language) Design approaches are empirical and based on the expertise and experience of teams reuse/extend/improve solutions that have proved to be efficient and robust Consequences Large IT projects are often over budget, over time, and deliver poor quality. Of these, 40% fail, 30% partially succeed, 30% succeed.

12 System Design a long way to go There is an (increasing) gap between: Our technological capabilities for treating and transmitting information Our know-how in computing systems engineering "It has long been my personal view that the separation of practical and theoretical work is artificial and injurious. Much of the practical work done in computing, both in software and in hardware design, is unsound and clumsy because the people who do it have not any clear understanding of the fundamental design principles of their work. Most of the abstract mathematical and theoretical work is sterile because it has no point of contact with real computing. Christopher Strachey ( )

13 System design Types of Systems n fact fact(n) Transformational systems Compute a function (must terminate) thermostat room on,off heater Reactive systems Continuously interact with an environment e.g. real-time controllers, protocols, games Compute outputs - reactions to inputs depending on their state Systems must meet given requirements e.g. For all integer n the program terminates and delivers fact(n) The temperature is always between 18 and 22

14 System Design Requirements Functional requirements characterize the services ensured for potential users. These are independent of the resources of the execution platform, e.g.: The program terminates and computes fact(n) The temperature is always between 18 and 20 When train crosses the gate is down When the lift is moving the door is closed Extra-functional requirements characterize the quality of the services. These take into account the resources of the execution platform: Performance Throughput is not less than 100 Mb/s (for a network) Power needed is less than 2mW (for a circuit) Image quality is optimal (for an encoder) Security: Resistance to attacks (for a cryptographic protocol) Safety: Resistance to failures (for a flight controller)

15 System design Simplified View Design is the process of deriving from given requirements, an executable model from which a system can be generated (more or less automatically). Requirements The expected behavior of the system to be designed with respect to its potential users and its environment Program Executable model meeting the requirements SW HW System composed of HW and SW the HW platform may be given

16 System design Correctness Program satisfies Functional Requirements satisfies SW HW satisfies Extra-functional Requirements Correctness The system is correct if it meets its requirements Requirements are formulas (propositions) of a logic The meaning of programs and HW/SW systems are models

17 System design Achieving Correctness Achieving correctness By construction: algorithms, architectures By Checking Physical prototypes e.g. testing Models (Virtual SW Prototypes) Ad hoc models e.g. SystemC simulation Formal models - Verification (exhaustivity)

18 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 18

19 Verification Model Requirements Should be: faithful e.g. whatever property is satisfied for the model holds for the real system generated automatically from system descriptions Verification Method YES, NO, DON T KNOW Should be: consistent e.g. there exists some model satisfying them complete e.g. they tightly characterize the system s behavior As a rule, for infinite state models all non trivial properties are undecidable e.g. bounded memory Intrinsically high complexity for finite state models (state explosion problem)

20 Verification - Models The meaning of a system (HW, SW, HW/SW) is a model defined as a transition relation on states (valuations of state variables): reset +1 x=0 x=1 +1 x=2 +1 x=3 +1 Modulo 4 counter =18 ON 15 min =22 ON turnoff =22 OFF 45min =18 OFF turnoff Thermostat (partial model) A model is characterized by its set of execution sequences

21 Verification - Requirements Specification For a given model, requirements are formulas of a temporal logic defined by: atomic formulas are state predicates e.g. 0 x 4, 18 22, f, fg, fg are formulas if f, g are formulas possible(f), inevitable(f), always(f) are formulas, if f is a formula Meaning of modalities for a given model with a state s s satisfies possible(f) if sequence state s s satisfies f s satisfies inevitable(f), if sequence state s s satisfies f s satisfies always(f) if sequence state s s satisfies f s s satisfies possible(green) inevitable(blue) always(blackbluegreen)

22 Verification - Requirements Specification Thermostat always (18 22) inevitable () Lift always (door_open moving) always (request_for[i] inevitable (elevator_at[i]) ) forall i Mutual exclusion always (write(a,m) write(b,m)) Deadlock-freedom always possible (exec(a)) Starvation-freedom always inevitable(exec(a)) Factorial y=n z=1 always (y=0 z=fact(n)) y=n z=1 inevitable (y=0 z=fact(n)) deadlock=not enough resources for allowing the progress of all tasks starvation=the resource allocation policy is not fair

23 Verification - Requirements Specification Temporal logic was a breakthrough in understanding and formalizing requirements for concurrent systems. Writing rigorous specifications in temporal logic is not trivial. However, the declarative style is not always easy to master and understand - Moving towards a less declarative style. f1 f2 f3 Much needs to be done for extra-functional requirements characterizing: security (e.g. confidentiality properties, electronic voting) reconfigurability (e.g. non interference of features) quality of service (e.g. performance).

24 Verification - Building Models For hardware, it is easy to get faithful logical finite state models represented as systems of boolean equations HW MODEL v u x y z semantics v= u=.. x= y= z= xy

25 Verification - Building Models For software this may be much harder. PROGRAM if. while valid do if x<0 then z:=x else z:=-x; while semantics SEMANTIC MODEL x<0 z:=x valid valid x>=0 z:=-x ABSTRACT MODEL b z:=b valid valid b z:= b abstraction

26 Verification - Building Models For mixed Software / Hardware systems: there are no faithful modeling techniques as we have a poor understanding of how software and the underlying platform interact, validation by testing physical prototypes or by simulation of ad hoc models. APPLICATION Tasks Command Handlers Event Handlers SW EXECUTION PLATFORM Task Scheduler Event Scheduler Sensors Timers Antenna

27 Verification - Methods Deductive verification Based on sets of inference rules for reasoning on the structure of the systems General and interactive, targeting verification of infinite state systems, assisted by theorem provers Frameworks for the development of deductive proofs ex. Coq Algorithmic verification Based on the analysis of global models obtained by flattening system structure e.g. transition systems Emphasis on automation rather than generality Main representatives: model checking and abstract interpretation

28 Verification - Model-checking To check that a model (system) satisfies f compute the set of the states which satisfy f can be defined by induction on the syntax Atomic formulas represent sets of states e.g Logical connectives are interpreted as the corresponding set theoretic operations on sets of states Modal operators have a fixpoint characterization possible(f) = least x such that x=f pre(x) inevitable(f) = least x such that x=f pre(x) pre(x) always(f) = greatest x such that x=f pre(x) where pre is a function defined from the model A model satisfies a formula f if all its states satisfy formula

29 Verification Abstract Interpretation s A satisfies f A implies s satisfies f where s A is an abstraction of s for formulas f involving only universal quantification [Cousot&Cousot 79] Abstract interpretation, a general framework for computing abstractions based on the use of Galois connections. F S SA F are monotonic 2 S 2 S A Id Id Concrete properties Abstract properties F is the best approximation of F in the abstract state space

30 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 30

31 Marry Physicality and Computation Execution constraints CPU speed memory power failure rates EMBEDDED SYSTEM Computing algorithms protocols architectures Environment constraints Performance (deadlines, jitter, throughput) Robustness (security, safety, availability) 31

32 Marry Physicality and Computation Execution constraints CPU speed memory power failure rates Embedded System Design is generalized Hardware Design EMBEDDED SYSTEM Computing algorithms protocols architectures Environment constraints Performance (deadlines, jitter, throughput) Robustness (security, safety, availability) 32

33 Marry Physicality and Computation Execution constraints CPU speed memory power failure rates EMBEDDED SYSTEM Computing algorithms protocols architectures Environment constraints Performance (deadlines, jitter, throughput) Robustness (security, safety, availability) Embedded System Design is generalized Control Design 33

34 Marry Physicality and Computation Embedded System Design coherently integrates all these. Execution constraints CPU speed memory power failure rates EMBEDDED SYSTEM Computing algorithms protocols architectures Environment constraints Performance (deadlines, jitter, throughput) Robustness (security, safety, availability) We need to revisit and revise the most basic computing paradigms to include methods from EE and Control 34

35 Marry Physicality and Computation Physical Systems Engineering Computing Systems Engineering Analytic Models Component: transfer function Composition: parallel Connection: data flow Computational Models Component: subroutine Composition: sequential Connection: control flow f 1 f 2 inst1; inst2... instn;. instx; insty;. Instz;. insta; instb;. Inste;. 35

36 Marry Physicality and Computation Matlab/Simulink Model 36

37 UML Model (Rational Rose) Marry Physicality and Computation

38 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 38

39 Encompass Heterogeneity - Components Build complex systems by composing components (simpler systems). This confers numerous advantages such as productivity and correctness Build a component C satisfying given requirements f, from C 0 a set of atomic components described by their behavior GL ={gl 1,, gl i, } a set of glue operators on components gl12 gl1 c 1 c 1 gl2 c 2 c 2 satisfies f Move from frameworks based on single composition operators to frameworks based on families of composition operators

40 Encompass Heterogeneity - Components Synchronization glue The global behavior C(#s,#r) s r SENDER RECEIVER Non determinism r r sr #s=#r (strong interaction) s s 0#s- #r 2 s r true (no interaction) r r r r r r r r s s s s s s s s 0#s- #r (asynchronous interaction) Notice that # plays the role of a clock

41 Encompass heterogeneity - components Sources of heterogeneity Execution: synchronous and asynchronous components Interaction: function call, broadcast, rendezvous, monitors Abstraction levels: hardware, execution platform, application software Some problems Expressiveness of glues Meaningful (property-preserving) composition of systems with different models of computation Distributed implementation of synchronous systems We need a unified composition paradigm for describing and analyzing the coordination between components to formulate system designs in terms of tangible, well-founded and organized concepts

42 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 42

43 Cope with Complexity - Compositionality Today, a posteriori system verification: High development costs Limitation to medium complexity systems Tomorrow, move from a posteriori verification to compositional construction: At design time, infer properties of a composite system from properties of its components gl 43

44 Cope with Complexity Compositionality

45 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 45

46 Cope with Uncertainty - Predictability Systems must provide a service meeting given requirements in interaction with uncertain and unpredictable environments Uncertainty is characterized as the difference between average and a worst-case system behavior. It is drastically increasing uncertainty, due to: t Interaction with complex, non-deterministic, possibly hostile external environments Execution platforms with sophisticated HW/SW architectures (layering, caches, speculative execution, ) Two types of uncertainty: Intrinsic uncertainty, due to non determinism or abstraction hiding details at execution level; Estimated uncertainty, due to approximations necessary for coping with non computability of exact bounds.

47 Cope with Uncertainty - Predictability Distribution of ET Lower Bound BCET WCET Upper Bound Execution times Possible ET Estimated ET For simple operations WCET may be 300 BCET

48 Cope with Uncertainty - Predictability Increasing uncertainty gives rise to 2 diverging design paradigms BAD STATES ERROR STATES Critical systems engineering based on worst-case analysis and static resource reservation e.g. hard realtime approaches, massive redundancy Best effort engineering based on average case analysis e.g. soft real-time for optimization of speed, memory, bandwidth, power

49 Cope with Uncertainty - Predictability The gap between critical and best effort engineering implies increasing costs and reduced hardware reliability, e.g. increasing number of ECUs in cars. Current trend in avionics and automotive: Moving from federated to integrated architectures (both critical and non critical functions on one chip) Striving for predictability by reducing intrinsic and estimated uncertainty through: Simplification of architectures ( caches, pipelines ), predictable cache replacement policies Determinization of the observable behavior (time triggered systems) Using adaptive control techniques for the management of a global amount of resources which is enough for coping with critical situations.

50 Cope with Uncertainty: Adaptive System Adaptive Controller Learning Strategies for Managing Objectives Tactics for achieving objectives choices states Controlled System

51 Cope with Uncertainty: Adaptive System Learning Movie would have been better Managing Conflicting Objectives Go to: 1) Stadium 2) Movie 3) Restaurant Planning 51

52 Cope with Uncertainty - Adaptivity Challenge: Develop holistic adaptive design techniques combining the two paradigms: satisfaction of critical properties and efficiency y by optimal use of the globally available resources (processor, memory, power). 52

53 Embedded Systems Embedded Systems Design Verification Research Challenges O V E R V I E W Marry Physicality and Computation Encompass Heterogeneity - Components Cope with Complexity - Compositionality Cope with Uncertainty - Predictability Discussion 53

54 Discussion Embedded Systems break with traditional Informatics, which should be extended to encompass paradigms and methods from disciplines based on physics. Physics Studies the laws governing energy, matter and their relationships Studies a given «reality» Physical systems Analytic models Continuous mathematics Informatics Studies foundations of information and computation Studies created universes Computing systems Machines Discrete mathematics Logic Differential equations Estimation theory - robustness Constructivity, Predictability Mature Automata, Algorithms and Complexity Theory Verification, Test Promising 54

55 Discussion Constructivity: Constructivity Engineering of physical systems is based on tractable analysis/synthesis techniques: the laws of classical Physics are surprisingly simple and encompassable by reasonably continuous models. there exist good enough linear approximations of physical systems Computing Systems: are intrinsically non linear - there exists no linear representation of a memory element are intrinsically non robust: small changes may have large impact have intractable analytic approaches, especially general systems involving both conflicts and synchronization

56 Discussion Composition of components Engineering of Physical Systems is based on single-timeframe models: composition of behavior boils down to functional composition. system behavior is deterministic For Computing Systems: There is no built-in notion of physical time or any other physical quantity It is possible to define different abstract notions of time and resources Composition of components amounts to expressing constraints on their respective timeframes there is a large variety of composition mechanisms depending on the way component clocks are synchronized Consequently, system behavior is intrinsically non deterministic Uncertainty arises from both non determinism and our inability to build faithful models and estimate their behavior 56

57 Discussion For a System Design Discipline Informatics deals with an infinite number of possibly created universes. Limiting the focus on particular tractable universes of systems can help overcome current limitations A posteriori verification is not the only way for guaranteeing correctness. In absence of tractable analytic approaches, we should concentrate on correct-by-construction results for sub-classes of systems and properties which are operationally relevant and technically successful. This vision can contribute to the unification of the discipline, by bridging the gap between Formal Methods and Verification, and Algorithms and Complexity 57

58 MERCI 58

MEng, BSc Computer Science with Artificial Intelligence

MEng, BSc Computer Science with Artificial Intelligence School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

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

Six Seminars on System Design

Six Seminars on System Design Six Seminars on System Design Joseph Sifakis RiSD Laboratory,, EPFL About the Seminars Aims Explain why system design differs from pure software design as it should jointly take into account both functional

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

Doctor of Philosophy in Computer Science

Doctor of Philosophy in Computer Science Doctor of Philosophy in Computer Science Background/Rationale The program aims to develop computer scientists who are armed with methods, tools and techniques from both theoretical and systems aspects

More information

M.S. Computer Science Program

M.S. Computer Science Program M.S. Computer Science Program Pre-requisite Courses The following courses may be challenged by sitting for the placement examination. CSC 500: Discrete Structures (3 credits) Mathematics needed for Computer

More information

Masters in Computing and Information Technology

Masters in Computing and Information Technology Masters in Computing and Information Technology Programme Requirements Taught Element, and PG Diploma in Computing and Information Technology: 120 credits: IS5101 CS5001 or CS5002 CS5003 up to 30 credits

More information

The Course. http://www.cse.unsw.edu.au/~cs3153/

The Course. http://www.cse.unsw.edu.au/~cs3153/ The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

More information

Masters in Advanced Computer Science

Masters in Advanced Computer Science Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate

More information

Masters in Artificial Intelligence

Masters in Artificial Intelligence Masters in Artificial Intelligence Programme Requirements Taught Element, and PG Diploma in Artificial Intelligence: 120 credits: IS5101 CS5001 CS5010 CS5011 CS4402 or CS5012 in total, up to 30 credits

More information

Masters in Networks and Distributed Systems

Masters in Networks and Distributed Systems Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to

More information

Software Modeling and Verification

Software Modeling and Verification Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system

More information

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Master of Science in Computer Science

Master of Science in Computer Science Master of Science in Computer Science Background/Rationale The MSCS program aims to provide both breadth and depth of knowledge in the concepts and techniques related to the theory, design, implementation,

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

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

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010 Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2015/6 - August 2015 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

Northeast Blackout of 2003

Northeast Blackout of 2003 Aug 13, 2003 Aug 14, 2003 Northeast Blackout of 2003 50 Millionen Menschen 60 Milliarden US$ because of a computer software bug in General Electric Energy's Unix-based XA/21 energy management system that

More information

Model Checking based Software Verification

Model Checking based Software Verification Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

More information

Model Checking: An Introduction

Model Checking: An Introduction Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI

More information

Verifying Specifications with Proof Scores in CafeOBJ

Verifying Specifications with Proof Scores in CafeOBJ Verifying Specifications with Proof Scores in CafeOBJ FUTATSUGI, Kokichi 二 木 厚 吉 Chair of Language Design Graduate School of Information Science Japan Advanced Institute of Science and Technology (JAIST)

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

School of Computer Science

School of Computer Science Computer Science Honours Level 2013/14 August 2013 School of Computer Science Computer Science (CS) Modules CS3051 Software Engineering SCOTCAT Credits: 15 SCQF Level 9 Semester: 1 This module gives a

More information

Data Centric Systems (DCS)

Data Centric Systems (DCS) Data Centric Systems (DCS) Architecture and Solutions for High Performance Computing, Big Data and High Performance Analytics High Performance Computing with Data Centric Systems 1 Data Centric Systems

More information

Model Checking of Software

Model Checking of Software Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving

More information

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?

More information

How To Test Automatically

How To Test Automatically Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts

More information

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa COMPUTER SCIENCE Computer Science is the study of computer programs, abstract models of computers, and applications of computing.

More information

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Mastering increasing product complexity with Collaborative Systems Engineering and PLM Mastering increasing product complexity with Collaborative Systems Engineering and PLM Thierry Ambroisine Dassault Systèmes 10 rue Marcel Dassault, 78140 Vélizy Villacoublay, France thierry.ambroisine@3ds.com

More information

Masters in Information Technology

Masters in Information Technology Computer - Information Technology MSc & MPhil - 2015/6 - July 2015 Masters in Information Technology Programme Requirements Taught Element, and PG Diploma in Information Technology: 120 credits: IS5101

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

Elastic Application Platform for Market Data Real-Time Analytics. for E-Commerce

Elastic Application Platform for Market Data Real-Time Analytics. for E-Commerce Elastic Application Platform for Market Data Real-Time Analytics Can you deliver real-time pricing, on high-speed market data, for real-time critical for E-Commerce decisions? Market Data Analytics applications

More information

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008 Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report

More information

Semantic Description of Distributed Business Processes

Semantic Description of Distributed Business Processes Semantic Description of Distributed Business Processes Authors: S. Agarwal, S. Rudolph, A. Abecker Presenter: Veli Bicer FZI Forschungszentrum Informatik, Karlsruhe Outline Motivation Formalism for Modeling

More information

International Summer School on Embedded Systems

International Summer School on Embedded Systems International Summer School on Embedded Systems Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences Shenzhen, July 30 -- August 3, 2012 Sponsored by Chinese Academy of Sciences and

More information

Attaining EDF Task Scheduling with O(1) Time Complexity

Attaining EDF Task Scheduling with O(1) Time Complexity Attaining EDF Task Scheduling with O(1) Time Complexity Verber Domen University of Maribor, Faculty of Electrical Engineering and Computer Sciences, Maribor, Slovenia (e-mail: domen.verber@uni-mb.si) Abstract:

More information

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system? 5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling

More information

Division of Mathematical Sciences

Division of Mathematical Sciences Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree

More information

OUTILS DE DÉMONSTRATION

OUTILS DE DÉMONSTRATION OUTILS DE DÉMONSTRATION AUTOMATIQUE ET PREUVE DE CIRCUITS ÉLECTRONIQUES Laurence Pierre Laboratoire TIMA, Grenoble PREAMBLE Design/validation of embedded applications: Design/validation for the system

More information

Architectures and Platforms

Architectures and Platforms Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation

More information

A Framework for the Semantics of Behavioral Contracts

A Framework for the Semantics of Behavioral Contracts A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK ashley.mcneile@metamaxim.com Abstract. Contracts have proved a powerful concept

More information

Service Quality Management The next logical step by James Lochran

Service Quality Management The next logical step by James Lochran www.pipelinepub.com Volume 4, Issue 2 Service Quality Management The next logical step by James Lochran Service Quality Management (SQM) is the latest in the long list of buzz words floating around the

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

The Model Checker SPIN

The Model Checker SPIN The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

More information

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.

More information

Predictable response times in event-driven real-time systems

Predictable response times in event-driven real-time systems Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es

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

SCADE Suite in Space Applications

SCADE Suite in Space Applications SCADE Suite in Space Applications at EADS David Lesens 09/10/2008 Overview Introduction Historical use of SCADE at EADS Astrium ST Why using SCADE? The Automatic Transfer Vehicle (ATV) M51 and Vega R&T

More information

Automated Theorem Proving - summary of lecture 1

Automated Theorem Proving - summary of lecture 1 Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of

More information

Automata-based Verification - I

Automata-based Verification - I CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2006 Supporting and Background Material Copies of key slides (already

More information

Reasons for need for Computer Engineering program From Computer Engineering Program proposal

Reasons for need for Computer Engineering program From Computer Engineering Program proposal Reasons for need for Computer Engineering program From Computer Engineering Program proposal Department of Computer Science School of Electrical Engineering & Computer Science circa 1988 Dedicated to David

More information

INTRUSION PREVENTION AND EXPERT SYSTEMS

INTRUSION PREVENTION AND EXPERT SYSTEMS INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla avic@v-secure.com Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion

More information

Automotive Software Engineering

Automotive Software Engineering Automotive Software Engineering List of Chapters: 1. Introduction and Overview 1.1 The Driver Vehicle Environment System 1.1.1 Design and Method of Operation of Vehicle Electronic 1.1.2 Electronic of the

More information

Software Verification: Infinite-State Model Checking and Static Program

Software Verification: Infinite-State Model Checking and Static Program Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,

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

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

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

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,

More information

Digital Electronics Detailed Outline

Digital Electronics Detailed Outline Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept

More information

Fixed-Point Logics and Computation

Fixed-Point Logics and Computation 1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of

More information

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to

More information

RATP safety approach for railway signalling systems

RATP safety approach for railway signalling systems RATP safety approach for railway signalling systems ReSIST summer School 007 Pierre CHARTIER Summary. Introduction. Hardware fault detection. 6 Introduction Global railway system Rolling stock Environment

More information

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Challenges and Opportunities for formal specifications in Service Oriented Architectures ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute

More information

Adversary Modelling 1

Adversary Modelling 1 Adversary Modelling 1 Evaluating the Feasibility of a Symbolic Adversary Model on Smart Transport Ticketing Systems Authors Arthur Sheung Chi Chan, MSc (Royal Holloway, 2014) Keith Mayes, ISG, Royal Holloway

More information

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture 1 The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture H. Kopetz TU Vienna, Austria July 2000 Outline 2 Introduction Temporal Accuracy of RT Information The Time-Triggered

More information

Sanjeev Kumar. contribute

Sanjeev Kumar. contribute RESEARCH ISSUES IN DATAA MINING Sanjeev Kumar I.A.S.R.I., Library Avenue, Pusa, New Delhi-110012 sanjeevk@iasri.res.in 1. Introduction The field of data mining and knowledgee discovery is emerging as a

More information

SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS

SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS Trends and Challenges in Developing Software for Embedded Systems Motivation This survey addresses software development in the field of embedded systems. Our goal

More information

Introducing Formal Methods. Software Engineering and Formal Methods

Introducing Formal Methods. Software Engineering and Formal Methods Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended

More information

Verification by. Simulation. Verification by. Simulation. Verification by. Simulation / Model Check. Validation and Testing.

Verification by. Simulation. Verification by. Simulation. Verification by. Simulation / Model Check. Validation and Testing. Model-Based Software evelopment : Method Co- with contributions of Marcel Groothuis, Peter Visser, Bojan Orlic, usko Jovanovic, Gerald Hilderink Engineering, CTIT, Faculty EE-M-CS,, Enschede, Netherls

More information

Introduction to Cloud Computing

Introduction to Cloud Computing Introduction to Cloud Computing Parallel Processing I 15 319, spring 2010 7 th Lecture, Feb 2 nd Majd F. Sakr Lecture Motivation Concurrency and why? Different flavors of parallel computing Get the basic

More information

CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

More information

High Performance Computing for Operation Research

High Performance Computing for Operation Research High Performance Computing for Operation Research IEF - Paris Sud University claude.tadonki@u-psud.fr INRIA-Alchemy seminar, Thursday March 17 Research topics Fundamental Aspects of Algorithms and Complexity

More information

Course Outline Department of Computing Science Faculty of Science. COMP 3710-3 Applied Artificial Intelligence (3,1,0) Fall 2015

Course Outline Department of Computing Science Faculty of Science. COMP 3710-3 Applied Artificial Intelligence (3,1,0) Fall 2015 Course Outline Department of Computing Science Faculty of Science COMP 710 - Applied Artificial Intelligence (,1,0) Fall 2015 Instructor: Office: Phone/Voice Mail: E-Mail: Course Description : Students

More information

Formal Verification and Linear-time Model Checking

Formal Verification and Linear-time Model Checking Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Fall 2012 Q530. Programming for Cognitive Science

Fall 2012 Q530. Programming for Cognitive Science Fall 2012 Q530 Programming for Cognitive Science Aimed at little or no programming experience. Improve your confidence and skills at: Writing code. Reading code. Understand the abilities and limitations

More information

Formal Verification of Software

Formal Verification of Software Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification

More information

Computer Science. Master of Science

Computer Science. Master of Science Computer Science Master of Science The Master of Science in Computer Science program at UALR reflects current trends in the computer science discipline and provides students with a solid theoretical and

More information

Lecture 03 (04.11.2013) Quality of the Software Development Process

Lecture 03 (04.11.2013) Quality of the Software Development Process Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software

More information

Low-Level Verification of Embedded Software: Addressing the Challenge

Low-Level Verification of Embedded Software: Addressing the Challenge Low-Level Verification of Embedded Software: Addressing the Challenge Sanjit A. Seshia Assistant Professor EECS, UC Berkeley FMCAD 2010 Panel October 2010 Abstraction Layers in Computing Algorithms, Protocols,

More information

Timing Analysis of Real-Time Software

Timing Analysis of Real-Time Software Timing Analysis of Real-Time Software Raimund Kirner Vienna University of Technology Austria This is joint work with Peter Puschner and the CoSTA and ForTAS project teams. From RTS Design to Implementation

More information

VDM vs. Programming Language Extensions or their Integration

VDM vs. Programming Language Extensions or their Integration VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,

More information

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis Steve Vestal Honeywell Labs Steve.Vestal@Honeywell.com 18 October 2005 Outline Background Binding and Routing Scheduling

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

Real-Time (Paradigms) (51)

Real-Time (Paradigms) (51) Real-Time (Paradigms) (51) 5. Real-Time Communication Data flow (communication) in embedded systems : Sensor --> Controller Controller --> Actor Controller --> Display Controller Controller Major

More information

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT Page 1 of 5 A. Advanced Mathematics for CS A1. Line and surface integrals 2 2 A2. Scalar and vector potentials 2 2 A3. Orthogonal curvilinear coordinates 2 2 A4. Partial differential equations 2 2 4 A5.

More information

Cost-Effective Certification of High- Assurance Cyber Physical Systems. Kurt Rohloff krohloff@bbn.com BBN Technologies

Cost-Effective Certification of High- Assurance Cyber Physical Systems. Kurt Rohloff krohloff@bbn.com BBN Technologies Cost-Effective Certification of High- Assurance Cyber Physical Systems Kurt Rohloff krohloff@bbn.com BBN Technologies Most Important Challenges and Needs Need dynamic behavior in high-confidence systems,

More information

List of courses MEngg (Computer Systems)

List of courses MEngg (Computer Systems) List of courses MEngg (Computer Systems) Course No. Course Title Non-Credit Courses CS-401 CS-402 CS-403 CS-404 CS-405 CS-406 Introduction to Programming Systems Design System Design using Microprocessors

More information

SECURITY METRICS: MEASUREMENTS TO SUPPORT THE CONTINUED DEVELOPMENT OF INFORMATION SECURITY TECHNOLOGY

SECURITY METRICS: MEASUREMENTS TO SUPPORT THE CONTINUED DEVELOPMENT OF INFORMATION SECURITY TECHNOLOGY SECURITY METRICS: MEASUREMENTS TO SUPPORT THE CONTINUED DEVELOPMENT OF INFORMATION SECURITY TECHNOLOGY Shirley Radack, Editor Computer Security Division Information Technology Laboratory National Institute

More information

Driving force. What future software needs. Potential research topics

Driving force. What future software needs. Potential research topics Improving Software Robustness and Efficiency Driving force Processor core clock speed reach practical limit ~4GHz (power issue) Percentage of sustainable # of active transistors decrease; Increase in #

More information

Chapter 13 Embedded Operating Systems

Chapter 13 Embedded Operating Systems Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product

More information

Technology to Control Hybrid Computer Systems

Technology to Control Hybrid Computer Systems INFORMATION TECHNOLOGY Hynomics (formerly HyBrithms Corporation, formerly Sagent Corporation) Technology to Control Hybrid Computer Systems Businesses and industries, both large and small, increasingly

More information

How To Learn To Understand And Understand The Physics Of Chemistry

How To Learn To Understand And Understand The Physics Of Chemistry What will I learn as an Electrical Engineering student? Department of Electrical and Computer Engineering Tufts School of Engineering Trying to decide on a major? Most college course descriptions are full

More information

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow Rationale Radical changes to computing landscape; Desktop PC becoming irrelevant Heterogeneous, multicore,

More information