Module 1: Introduction to SEng 5831 RealTime and Embedded Systems PowerPoint PPT Presentation

presentation player overlay
1 / 17
About This Presentation
Transcript and Presenter's Notes

Title: Module 1: Introduction to SEng 5831 RealTime and Embedded Systems


1
Module 1Introduction to SEng 5831Real-Time
and Embedded Systems
2
Module Outline
  • Instructor, TA, and class introductions and
    interests
  • What are embedded systems? What is different?
  • Course topics, materials, assignments
  • Relationships to core MSSE courses

3
Introductions
  • Steve Vestal, Instructor
  • steve.vestal_at_honeywell.com
  • 612-951-7049
  • Ph.D. Computer Science, University of Washington
  • Honeywell Labs, Aerospace Advanced Technology
  • Areas of experience
  • Real-Time scheduling
  • System configuration and verification
  • Safety and reliability modeling
  • Daniel Acuna, TA
  • acuna_at_cs.umn.edu
  • 612-626-8848
  • Ph.D. Student, Computer Science
  • Class introductions (at end?)

4
What is an Embedded System?
  • A special-purpose computer system usually built
    into a larger device. An embedded system is
    required to meet very different requirements than
    a general-purpose personal computer. (Wikipedia)
  • A specialized computer system that is part of a
    larger system or machine. (Webopedia)
  • Devices used to control, monitor or assist the
    operation of equipment, machinery or plant.
    "Embedded" reflects the fact that they are an
    integral part of the system. (IEEE Y2K Policy
    Site)

5
Why is Embedded Computing Different?
  • Different hosted application disciplines
    domains, e.g.
  • Mechanical, chemical, control engineering .
  • Aerospace, automotive, medical, industrial
    process,
  • User interacts with the containing product, not
    the computer
  • Explicit (and sometimes stringent) timing
    requirements
  • Explicit (and sometimes stringent)
    safety/dependability requirements
  • Physical and environmental constraints
  • Recurring costs (production maintenance)
    dominate NRE
  • Multi-disciplinary, software/hardware
    co-development

6
General Course Comments
  • An introduction to multiple topics, not an
    in-depth study of one
  • 3 topics, 5 lectures each
  • enable you to locate and use resources
  • Synergize with, not duplicate, core MSSE courses
  • Adapt to students background, interests and
    goals
  • choice of projects

7
Three Topics
  • Real-time allocation and scheduling
  • Safety and dependability
  • Software/hardware co-development

8
Real-Time Allocation Scheduling
  • Scheduling allocation problems can be hard
  • Determining system-level requirements (e.g.
    end-to-end deadlines) can be hard
  • Determining component-level properties (e.g.
    WCET) can be hard
  • Timing is a complicating non-orthogonal issue
    (e.g. coding guidelines, task models)
  • Impacts amount of hardware required (hence
    recurring cost, size, weight, power, )

9
Safety Dependability
  • Failures may have high severity (damaged
    property, lost lives)
  • Regulated certification requirements
  • Safety/dependability is a complicating
    non-orthogonal issue
  • VV/certification cost is often gt50 of
    development cost
  • Redundancy impacts amount of hardware required
    (hence recurring cost, size, weight, power, )

10
Software/Hardware Co-Development
  • Custom HW (especially IO), HW/SW interface may be
    complex
  • Partitioning of functionality into HW vs. SW may
    be non-trivial
  • Physical placement of hardware and wiring may be
    complex
  • Access to final HW may be limited (or impossible)
    during SW development
  • RTOS/middleware may be limited, cross-development
    may be awkward, more static configuration
  • The SW/HW line is blurring (e.g. FPGAs)
  • Long lifetimes, obsolescence management is an
    issue

11
Course Materials
  • Real-Time Systems by Jane W. S. Liu
  • Safeware System Safety and Computers by Nancy G.
    Leveson
  • Industry standards and handbooks (will post)
  • Publications and technical reports (will post)
  • http//www-users.itlabs.umn.edu/classes/Spring-200
    8/seng5831/

12
Assignments
  • Reading assignments
  • Three mini-projects, one per topic area
    (student-selectable), e.g.
  • Implement apply a scheduling algorithm
  • Implement apply a schedulability analysis
    algorithm
  • Download apply a ROTS schedulability analysis
    tool
  • Measure, analyze, discuss thread execution times
  • Fault-tree system safety model
  • Markov reliability/availability model
  • Presentation or report on a safety standard or
    guideline
  • Presentation or report on an accident
  • Embedded system architecture specification
  • UI design for an IO-constrained product (e.g.
    smart thermostat, door lock)
  • Hands-on cross-development exercise (e.g. robot
    maze-runner)
  • Open to comparable student proposals

13
MSSE Core Courses
  • SE 5801 Software Engineering I The Software
    Life-Cycle, Requirements Specification, and
    Design
  • SE 5852 Quality Assurance and Process
    Improvement
  • SE 5851 Software Project Management
  • Every life cycle phase is impacted (e.g. system
    safety process, certification processes).
  • Additional attributes may need to be managed
    (e.g. hardware resource management)
  • A system, not just a software, development
    process (e.g. multi-disciplinary,
    hardware/software co-development).
  • Regulatory requirements apply to process and
    quality assurance, not just certain verification
    activities.
  • Recurring costs often dwarf nonrecurring
    (development) costs.

14
MSSE Core Courses
  • SE 5707 Principles and Use of Database
    Management Systems
  • Dependability and timing requirements
  • Specialized data structures and queries (e.g.
    terrain, 3D object, signal history databases)
  • Usually smaller in size and less distributed (but
    thats changing!)
  • SE 5802 Software Engineering II Advanced
    Software Engineering
  • Not just OO, functional and data flow patterns
    also
  • Software/hardware co-design
  • Restrictive guidelines for safety-critical
    software

15
MSSE Core Courses
  • SE 5811 Software Testing and Verification
  • Over 50 of embedded software cost is VV
  • Testing is only one VV method, e.g. analysis,
    review
  • Influenced by standards and regulatory
    authorities
  • SE 5115 Graphical User Interface Design and
    Evaluation
  • User interacts with a device, not a computer
  • Differing user task models (e.g. pilots, doctors)
  • Differing devices (e.g. cockpit displays
    controls)
  • Limited UI capabilities (e.g. thermostat)
  • Safety requirements (e.g. safety inter-locks)

16
MSSE Core Courses
  • SE 5861 Introduction to Software Architecture
  • System (HWSW) architecture
  • Special patterns (e.g. periodic tasking, triple
    modular redundancy)

17
  • Student introductions
Write a Comment
User Comments (0)
About PowerShow.com