CSCI 445 Amin Atrash. Control Architectures. Introduction to Robotics L. Itti, M. J. Mataric
|
|
- Kellie Richardson
- 6 years ago
- Views:
Transcription
1 Introduction to Robotics CSCI 445 Amin Atrash Control Architectures
2 The Story So Far Definitions and history Locomotion and manipulation Sensors and actuators Control => Essential building blocks
3 Today s Lecture Outline Scaling up control => architectures Architectures v. Languages Turing Universality of Languages Basic classes of architectures Criteria for selection of architecture Looking ahead Time scale
4 Scaling Up Control We have seen feedback control How do we put together multiple feedback controllers in a principled fashion? in what order? with what priority? How do we generate complex, coherent, robust, and adaptive behavior?
5 Control Architecture A control architecture provides a set of principles for organizing a control system. It provides: structure constraints to aid the designer in producing a well-behaved controller
6 Why architecture? The term is used in the same sense as in computer architecture, where it means the set of principles for designing computers out of a collection of well-understood building blocks. Similarly, in robot control architectures, we will use a set of building blocks to program a robot in a reliable fashion
7 Software Control When discussing architectures we are referring to the software control level of the robot, not the hardware Some elements of control can be embedded in hardware, but not all. In general in robotics, we associate control architectures with software for control
8 Programming Languages Any robot control architecture is implemented in some programming language. It is important to realize the distinction between the two! Programming languages are implementational tools Programming languages are not control architectures
9 Turing Universality Any programming language that contains: sequencing conditional branching iteration can compute the entire class of computable functions => This is called Turing Universality All programming languages in use are Turing Universal
10 Turing Equivalence All such Turing Universal languages are called Turing equivalent => Any programming language can be used to implement any architecture. In practice, some programming languages are more convenient than others for specific tasks. E.g., what do we use Lisp, Java, HTML, C, C++, Visual Basic, etc., primarily for?
11 Languages and Uses Programming languages are designed for specific uses. Thus, various languages have been used for robot control: standard (e.g., Lisp, C, C++) specialized (e.g., Behavior Language, Subsumption Language, etc.) Language choice is often more pragmatic than philosophical
12 Languages & Architectures Regardless of the language, a welldesigned controller fits into one of the four control architecture types. Why not always use C/Java/foo? A programming language can be designed so as to facilitate certain architectural practices (e.g., reactivity, tight feedback, symbolic representations, numerical computation, etc.)
13 Architecture Space We are going to cover the space of robot control architectures: the history, the stateof-the-art, the reasons for it. There are infinitely many possible robot programs, but there is a finite (and rather small) number of truly distinct robot architectures. We already mentioned them early on in the semester, and they are...
14 Robot Control Architectures Deliberative control Reactive control Hybrid control Behavior-based control Robotics literature abounds with proposed "novel" control architectures Are these novel?
15 No More Architectures? After several decades of research and testing, all architectures so far fall within one of the four general classes we enumerated earlier Don t be fooled by unprincipled use of architecture and language terminology. Many a robot designer has encoded a new programming language and confused it with a robot architecture.
16 Power and Expressiveness Another confusion exists regarding the issue of fundamental power and/or expressiveness of a robot control architecture Advocates make claims about one control architecture being able to compute fundamentally more than another Can that be true?
17 Back to Turing Equivalence If an architecture is implemented in a Turing Universal programming language, it is fully expressive Since any language can compute any computable function, the architecture on top of it cannot further limit it
18 What is Constrained? Control architectures do not constrain expressiveness Architectures do greatly affect and constrain the structure of the robot controller (e.g., behavior representation, granularity, time scale ) What about the resulting robot behavior?
19 Behavior => Architecture In some cases, it is impossible to tell, just by observing a robot's behavior, what control architecture it is using This is similar to not being able to tell in what language some program is implemented; the function remains the same For simple robots, this is often the case. However, when it comes to more complex robots and environments...
20 The Environment For robots that have to deal with complex environments and tasks, the control architecture becomes very important. Key environment features: presence of sensor/actuator noise static v. dynamic response time of sensors and effectors observability adaptation
21 The Task Another key determinant of the architecture is the nature of the task What does the robot need to do? Consider the example from sensing: object / person recognition finding / grabbing an object moving around etc. The task requirements can constrain the architecture choice
22 Sources of Distinction Behavior representation: how is action represented? Granularity of behavior: what time scale is used for action? Behavior interaction and coordination: how are actions/behaviors chosen? Basis for behavior specification: is a biological model used? Programming methods: is software reusable, supported, user-friendly?
23 Criteria for Selection Support for parallelism: the ability to execute concurrent processes / behaviors at the same time Hardware targetability: how well can it be mapped to robot sensors and effectors; how well the computation can be mapped onto real processing elements (microprocessors, PLAs, etc.)
24 Criteria for Selection Run-time flexibility: is run-time adjustment and reconfiguration (even learning) possible and facilitated? Modularity: how is encapsulation of control handled, how does it treat abstraction? Does it allow many levels, going from feedback loops to primitives to agents? Does it allow re-use of software?
25 Criteria for Selection Niche targetability: how well the architecture allows the robot to deal with its environment Robustness: how well does the architecture perform if individual components fail? How well does it enable and facilitate writing controllers capable of fault tolerance?
26 Criteria for Selection Ease of use: how easy to use and accessible is it? Are there programming tools and expertise? Performance: how well does the robot perform using the architecture? Does it act in real-time? Does it get the job done? Is it failure-prone?
27 Comparability These criteria allow us to compare and evaluate different architectures relative to specific robot designs, tasks, and environments Not all tasks, environments, and designs are comparable => There is no fixed hierarchy or look-up table of the right architecture for a given robot/task/environment...
28 Looking Ahead One way to classify the four types of architectures is by the amount of looking into the future they each do Deliberative: only look-ahead; plan, then execute Reactive: no look-ahead; only react Hybrid: look ahead with the brain but react quickly with the wheels Behavior-based: look ahead only while acting
29 Time-Scale Time-scale is an important way of distinguishing control architectures Reactive systems respond to the realtime requirements of the environment. They work on a short time-scale Deliberative systems look ahead (plan). They work on a long timescale
30 Combining Time-Scales Hybrid systems include and must combine the two (short and long) timescales. This requires a middle layer; => consequently they are often called three-layer architectures Behavior-based systems bring the different time-scales closer by distributing slower computation over concurrent behavior modules
31 Textbook Readings M 11
Robotic Behaviors. Potential Field Methods
Robotic Behaviors Potential field techniques - trajectory generation - closed feedback-loop control Design of variety of behaviors - motivated by potential field based approach steering behaviors Closed
More informationMobile robots control architectures
1 Mobile robots control architectures Dimitri Popov Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Department Informatik Integriertes Seminar Intelligent Robotics 10 1.
More informationRobotics. CSPP Artificial Intelligence March 10, 2004
Robotics CSPP 56553 Artificial Intelligence March 10, 2004 Roadmap Robotics is AI-complete Integration of many AI techniques Classic AI Search in configuration space (Ultra) Modern AI Subsumption architecture
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationSyllabus Instructors:
Introduction to Real-Time Systems Embedded Real-Time Software Lecture 1 Syllabus Instructors: Dongsoo S. Kim Office : Room 83345 (031-299-4642) E-mail : dskim@iupui.edu Office Hours: by appointment 2 Syllabus
More informationComplex behavior emergent from simpler ones
Reactive Paradigm: Basics Based on ethology Vertical decomposition, as opposed to horizontal decomposition of hierarchical model Primitive behaviors at bottom Higher behaviors at top Each layer has independent
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationContemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.
Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful
More informationWhat are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software
What are Embedded Systems? 1 Lecture 1 Introduction to Embedded Systems & Software Roopa Rangaswami October 9, 2002 Embedded systems are computer systems that monitor, respond to, or control an external
More informationWeek 6: Data. Let's focus first on application domain data.
review of things we already (should) know criteria for external & internal representation basic elementary data types composite data types container data types derived subtypes abstract data types (ADT)
More informationSoftware Architecture. Lecture 4
Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check
More informationSommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.
Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical
More informationThe Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER
The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference
More informationChapter 1: Introduction Operating Systems MSc. Ivan A. Escobar
Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system
More informationcis1.0 computing: nature, power and limits robotics applications fall 2006 lecture # A.1 introduction
cis1.0 computing: nature, power and limits robotics applications fall 2006 lecture # A.1 introduction topics: (0) introduction to the course (1) what is a computer? (2) what is a robot? (3) what is a network?
More informationFuture Directions in Simulation Modeling. C. Dennis Pegden
Future Directions in Simulation Modeling C. Dennis Pegden Outline A half century of progress. Where do we need to go from here? How do we get there? Simulation: A Compelling Technology See the future Visualize
More informationChapter 1: An Introduction to Computer Science
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition Objectives In chapter 1, you will learn about One definition of computer science Algorithms Organization
More informationProgramming II. Modularity 2017/18
Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How
More informationObject-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur
Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 15 Testing
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 15 Testing Where we are Some very basic software engineering topics in the midst of tools Today: testing (how, why, some terms) Later:
More informationDesign Patterns Design patterns advantages:
Design Patterns Designing object-oriented software is hard, and designing reusable object oriented software is even harder. You must find pertinent objects factor them into classes at the right granularity
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationITM DEVELOPMENT (ITMD)
ITM Development (ITMD) 1 ITM DEVELOPMENT (ITMD) ITMD 361 Fundamentals of Web Development This course will cover the creation of Web pages and sites using HTML, CSS, Javascript, jquery, and graphical applications
More informationCS4514 Real-Time Systems and Modeling
CS4514 Real-Time Systems and Modeling Fall 2015 José M. Garrido Department of Computer Science College of Computing and Software Engineering Kennesaw State University Real-Time Systems RTS are computer
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central
More informationIntroduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2
Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,
More information6.852: Distributed Algorithms Fall, Class 21
6.852: Distributed Algorithms Fall, 2009 Class 21 Today s plan Wait-free synchronization. The wait-free consensus hierarchy Universality of consensus Reading: [Herlihy, Wait-free synchronization] (Another
More information6.001 Notes: Section 8.1
6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything
More informationLecture 5: The Halting Problem. Michael Beeson
Lecture 5: The Halting Problem Michael Beeson Historical situation in 1930 The diagonal method appears to offer a way to extend just about any definition of computable. It appeared in the 1920s that it
More informationData Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1
Design Principles Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques 2-1 Data Structures Data Structure - A systematic way of organizing and accessing
More informationGLUE - A Component Connecting Schema-based Reactive to Higher-level Deliberative Layers for Autonomous Agents
GLUE - A Component Connecting Schema-based Reactive to Higher-level Deliberative Layers for Autonomous Agents James Kramer Matthias Scheutz University of Notre Dame Notre Dame, IN 46556 e-mail: jkramer3,mscheutz@nd.edu
More informationLECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge
LECTURE 3: SOFTWARE DESIGN Mike Wooldridge 1 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high
More informationIntroducing Computer Programming
ok4 01 f2 5/24/17 9:59 AM Page 3 Chapter 1 Introducing Computer Programming Intended Learning Outcomes After completing this chapter, you should be able to: Explain the difference between computers and
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 03: Program Development Life Cycle Readings: Not Covered in Textbook Program Development
More informationRecap A Search Optimality of A. Search: A. CPSC 322 Search 5. Textbook 3.6. Search: A CPSC 322 Search 5, Slide 1
Search: A CPSC 322 Search 5 Textbook 3.6 Search: A CPSC 322 Search 5, Slide 1 Lecture Overview 1 Recap 2 A Search 3 Optimality of A Search: A CPSC 322 Search 5, Slide 2 Search with Costs Sometimes there
More informationLecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005
Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson 1 of 25 Introduction Chapter 1 of Object Design covers topics that aid understanding of Responsibility-Driven Design Object
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationComponents & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems. Embedded System Components
Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems Automotive Industrial Automation Building Automation etc. 1 2 Embedded System Components
More informationDeveloping an Enterprise Extranet Service
Developing an Enterprise Extranet Service White Paper www.aventail.com Tel 206.215.1111 Fax 206.215.1120 808 Howell Street Second Floor Seattle, WA 98101 Executive Summary A variety of market research
More informationCombining Algebraic Constraints with Graph-based Intelligent Testbench Automation by Mike Andrews, Verification Technologist, Mentor Graphics
Combining Algebraic Constraints with Graph-based Intelligent Testbench Automation by Mike Andrews, Verification Technologist, Mentor Graphics 22 Abstract: The Questa infact intelligent testbench automation
More informationCoding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!
Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science
More information1001ICT Introduction To Programming Lecture Notes
1001ICT Introduction To Programming Lecture Notes School of Information and Communication Technology Griffith University Semester 2, 2015 1 2 Elements of Java Java is a popular, modern, third generation
More informationIntroduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming
More informationCSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York
CSc 10200! Introduction to Computing Lecture 1 Edgardo Molina Fall 2013 City College of New York 1 Introduction to Computing Lectures: Tuesday and Thursday s (2-2:50 pm) Location: NAC 1/202 Recitation:
More informationBeen testing software for over 10 years Started out as a Manual Tester Moved to Automation testing Now leading teams, defining quality in
Been testing software for over 10 years Started out as a Manual Tester Moved to Automation testing Now leading teams, defining quality in organizations. Started as a reflection of how much software testing
More informationChapter 1 Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationOrganization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?
Organization of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004 1 Why are there so many programming languages? Evolution -- we've learned better ways of doing things over time Socio-economic
More informationIntroduction to Software Reuse
DCC / ICEx / UFMG Introduction to Software Reuse Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Software Reuse The use of existing software or software knowledge to build new software In the last
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationPage 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test
Page Outline ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems Testing and Design for Test Copyright 24 Daniel J. Sorin Duke University Introduction and Terminology Test Generation for Single
More informationUnifying Agent and Component Concepts - Jadex Active Components
Unifying Agent and Component Concepts - Jadex Active Components Alexander Pokahr, Lars Braubach, Kai Jander Distributed Systems and Information Systems Group (VSIS) Department of Informatics, University
More informationComplexity. Object Orientated Analysis and Design. Benjamin Kenwright
Complexity Object Orientated Analysis and Design Benjamin Kenwright Outline Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean by Complexity? How do
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is
More informationGraph and the World of Brains
Graph and the World of Brains Edwin Lunando/13509024 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia edwinlunando@gmail.com
More informationFall UI Design and Implementation 1
Fall 2005 6.831 UI Design and Implementation 1 1 Suggested by Daniel Swanton Fall 2005 6.831 UI Design and Implementation 2 2 Suggested by Robert Kwok Fall 2005 6.831 UI Design and Implementation 3 3 Input
More informationCAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory.
CAMERA User s Guide 1 Quick Start CAMERA is a collection of concise, intuitive and visually inspiring workbenches for cache mapping schemes and virtual memory. The CAMERA workbenches are standalone applications
More informationIntroduction to Autonomous Mobile Robots
Introduction to Autonomous Mobile Robots second edition Roland Siegwart, Illah R. Nourbakhsh, and Davide Scaramuzza The MIT Press Cambridge, Massachusetts London, England Contents Acknowledgments xiii
More informationMultiprocessor scheduling
Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.
More informationRobotics Programming Laboratory
Chair of Software Engineering Robotics Programming Laboratory Bertrand Meyer Jiwon Shin Lecture 9: Software Architecture in Robotics Control and navigation architecture Serial architecture action Module
More informationWays of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained
Session 5: The Data Dictionary relationship to systems analysis methodologies relationship to project management data definition vs. data representation taxonomy of data types COMP 477 /377, Spring, 2017
More informationCSCI 136 Data Structures & Advanced Programming. Fall 2018 Instructors Bill Lenhart & Bill Jannen
CSCI 136 Data Structures & Advanced Programming Fall 2018 Instructors Bill Lenhart & Bill Jannen Administrative Details Class roster: Who s here? And who s trying to get in? Handout: Class syllabus Lecture
More informationSoftware Architecture--Continued. Another Software Architecture Example
Software Architecture--Continued References for Software Architecture examples: Software Architecture, Perspectives on an Emerging Discipline, by Mary Shaw and David Garlin, Prentice Hall, 1996. B. Hayes-Roth,
More informationHardware Software Codesign of Embedded System
Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on
More informationBig Picture: Overview of Issues and Challenges in Autonomous Robotics + Impact on Practical Implementation Details
Big Picture: Overview of Issues and Challenges in Autonomous Robotics + Impact on Practical Implementation Details August 27, 2002 Class Meeting 2 Announcements/Questions Course mailing list set up: cs594-sir@cs.utk.edu
More informationADMAS Security Gateway
ADMAS Security Gateway White paper submitted in response to 2006 Annual ITEA Technology Review June 30, 2006 Submitted by: Aberdeen Test Center and ProObject, Inc. 7467 Ridge Road, Suite 330 Hanover, MD
More information6.001 Notes: Section 15.1
6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define
More informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
More informationLecture 34 SDLC Phases and UML Diagrams
That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome
More informationLecture 18: Planning and plan execution, applications
Lecture 18: Planning and plan execution, applications Planning, plan execution, replanning Planner as a part of an autonomous robot: robot architectures The subsumption architecture The 3-tier architecture:
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationwhat is an algorithm? analysis of algorithms classic algorithm example: search
event-driven programming algorithms event-driven programming conditional execution robots and agents resources: cc3.12/cis1.0 computing: nature, power and limits robotics applications fall 2007 lecture
More informationOutline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?
Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom
More informationis easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology
Preface The idea of improving software quality through reuse is not new. After all, if software works and is needed, just reuse it. What is new and evolving is the idea of relative validation through testing
More informationTesting & Continuous Integration. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 20 03/19/2010
esting & Continuous Integration Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 20 03/1/20 University of Colorado, 20 1 Goals 2 Review material from Chapter of Pilone & Miles esting
More informationINTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
More informationPROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13
PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific
More informationOverview. Introduction to Embedded Systems. What is an embedded system? What are some of their characteristics? What is the required skill set?
Embedded Basics Overview Introduction to Embedded Systems What is an embedded system? What are some of their characteristics? What is the required skill set? Software Development Process Waterfall vs Agile
More informationQuestion. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.
Question How many people have not yet participated? Reliable Transport: The Prequel EE122 Fall 2012 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica,
More informationChapter 7:: Data Types. Mid-Term Test. Mid-Term Test (cont.) Administrative Notes
Chapter 7:: Data Types Programming Language Pragmatics Michael L. Scott Administrative Notes Mid-Term Test Thursday, July 27 2006 at 11:30am No lecture before or after the mid-term test You are responsible
More informationVisual interfaces for a semantic content-based image retrieval system
Visual interfaces for a semantic content-based image retrieval system Hagit Hel-Or a and Dov Dori b a Dept of Computer Science, University of Haifa, Haifa, Israel b Faculty of Industrial Engineering, Technion,
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Object Oriented Programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 23, 2010 G. Lipari (Scuola Superiore
More informationCSCI 4717 Computer Architecture
CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading: Stallings, Sections 18.1 through 18.4 Classifications of Parallel Processing M. Flynn classified types of parallel
More informationAlgorithm Concepts. 1 Basic Algorithm Concepts. May 16, Computational Method
Algorithm Concepts David R. Musser Brian Osman May 16, 2003 This document contains Section 1 of Algorithm Concepts, a collection of algorithm concept descriptions in both Web page and print form under
More informationDistribution Middleware Technologies for Cyber Physical Systems Remote Engineering & Virtual Instrumentation
Distribution Middleware Technologies for Cyber Physical Systems Remote Engineering & Virtual Instrumentation 4-6 July 2012 REV 2012 Bilbao (Spain) Isidro Calvo Isidro.calvo@ehu.es Dept. of Automatic Control
More informationAssignment 1: Control and obstacle avoidance
Assignment 1: Control and obstacle avoidance ETH Zurich Individual Demonstration: Thursday, 08.10.2015 at 15:15 Individual Software Due: Thursday, 08.10.2015 at 23:00 Group Work Demonstration: Monday,
More informationIn this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition
Objectives Chapter 1: An Introduction to Com puter S cience Invitation to Computer Science, C++ Version, Third Edition In this chapter, you will learn about: The definition of computer science Algorithms
More informationStructural Testing. (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1
Structural Testing (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1 Learning objectives Understand rationale for structural testing How structural (code-based or glass-box) testing complements functional
More informationCSCI 136 Data Structures & Advanced Programming. Spring 2018 Instructors Bill Jannen & Jon Park
CSCI 136 Data Structures & Advanced Programming Spring 2018 Instructors Bill Jannen & Jon Park Today s Outline Course Preview Course Bureaucracy Crash Course in Java Part 1 2 Why Take CS136? To learn about:
More information(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt
Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing
More informationA Modeling Framework for Control Fault Tolerant Reactive Systems
A Modeling Framework for Control Fault Tolerant Reactive Systems Doug Densmore and Shannon Zelinski Department of Electrical Engineering and Computer Sciences University of California, Berkeley December
More informationIT 540 Operating Systems ECE519 Advanced Operating Systems
IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (5 th Week) (Advanced) Operating Systems 5. Concurrency: Mutual Exclusion and Synchronization 5. Outline Principles
More informationTopological Navigation and Path Planning
Topological Navigation and Path Planning Topological Navigation and Path Planning Based upon points of interest E.g., landmarks Navigation is relational between points of interest E.g., Go past the corner
More informationSCRAMNet GT. A New Technology for Shared-Memor y Communication in High-Throughput Networks. Technology White Paper
Technology White Paper SCRAMNet GT A New Technology for Shared-Memor y Communication in High-Throughput Networks Introduction A number of today s most advanced networking applications require the fast
More informationUser Task Flows. What are Task Flows? Why use task flows? bringing the user into the development process. Challenge:
M ore often than not, the needs and expectations of the user are present only in the abstract when design and development of an application are being discussed. Use cases tend to reflect system interaction,
More informationOptimised Embedded Distributed Controller for Automated Lighting Systems
Optimised Embedded Distributed Controller for Automated Lighting Systems Alie El-Din Mady, Menouer Boubekeur and Gregory Provan Prof. Gregory Provan Cork Complex Systems Lab Computer Science Department,
More informationAgent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1
Searching: Intro CPSC 322 Search 1 Textbook 3.0 3.3 Searching: Intro CPSC 322 Search 1, Slide 1 Lecture Overview 1 Agent Design 2 Example Problems 3 State Spaces Searching: Intro CPSC 322 Search 1, Slide
More informationCSE 332: Data Structures & Parallelism Lecture 10:Hashing. Ruth Anderson Autumn 2018
CSE 332: Data Structures & Parallelism Lecture 10:Hashing Ruth Anderson Autumn 2018 Today Dictionaries Hashing 10/19/2018 2 Motivating Hash Tables For dictionary with n key/value pairs insert find delete
More informationLecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction
Lecture 13: Object orientation Object oriented programming Introduction, types of OO languages Key concepts: Encapsulation, Inheritance, Dynamic binding & polymorphism Other design issues Smalltalk OO
More informationA Graceful Degradation Framework for Distributed Embedded Systems William Nace Philip Koopman
A Graceful Degradation Framework for Distributed Embedded Systems William Nace Philip Koopman Electrical & Computer ENGINEERING RoSES Project Robust Self-configuring Embedded Systems (RoSES) Robustness
More information