Download A Procedure for Designing Abstract Interfaces for Device Interface

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
A Procedure for Designing
Abstract Interfaces for Device
Interface Modules
Presented By:
Andy Mroczkowski
Dan Talaber
Tracy Xie
Joshua Wetzel
David Parnas
Overview
 Definitions
 Examples of Device Interface:
Car
JINI
Embedded Real-Time Controller
 Summary
 Questions?
Definitions
Abstract
Interface
Device Interface
Modules 1
Hardware
Interface
Device 1
Abstract
Interface
Device Interface
Modules 1
Hardware
Interface
Device 1
User
Program
Legend:
: software
: interface
: hardware
Car Example
Car Example
Driving
Operate
Car
Brake
Pedal
Brake
Controller
Brake
Line
Brakes
Accelerator
Throttle
Controller
Fuel
Engine
Steering
Wheel
Steering system
Steering
Column
Wheel
Angle
Car Example
 Braking
Operate
Car
Brake
Pedal
Brake Controller
Brake
Line
Disc
Brakes
Brake
Pedal
ABS Controller
Brake
Line
Disc
Brakes
Car Example
 Braking
Brake
Pedal
Operate
Car
Brake
Pedal
Brake Controller
Brake
Line
Disc
Brakes
Brake Controller
Brake
Line
Performance
Brakes
Car Example
 Design Approach
 Assumption List Characterizing the Virtual
Device
 “The device provides a mechanism which slows
the car at variable rates.”
 Programming Constructs Embodying the
Assumptions
 INCREASE_BRAKING
 DECREASE_BRAKING
Jini
 What is Jini?
 A dynamic distributed computing architecture
that provides spontaneous networking
between clients and services.
 Effective use of abstract interfaces and device
interface modules.
Jini Architecture in a Nutshell
Clients
Lookup
Service
Services
Proxies
Service and Lookup Service
Lookup
Service
Service
Proxy,
Interface
Legend:
Repository
HW/SW/Both
Java Object
Communication
Client and Lookup Service
Interface
Lookup
Service
Client
Proxy
Legend:
Repository
SW w/ JVM
Java Object
Java Interface
Communication
Client and Service
Client
request
Service
Proxy
Legend:
Java Software
HW/SW/Both
Communication
How Jini Relates to Parnas’ Model
Office Tool
Client
with
JVM
Printer
Interface
Common
Service
Interface
Printer
Proxy
Object
LAN
Proxy
Object
Network
Legend:
Software
Interface
Service
Provider
Proxy objects implement an interface and
encapsulate differences (e.g. protocols) among
various service providers.
Printer
Service
Intro of Embedded Software System
An embedded software system is a single
component of a significantly larger
hardware or software system.
Embedded Software Design with
Abstract Interface
User Interface
Client
Control Builder
Station
BigBlue
Data Access Interface
Firmware_Ver1
FIM
DeviceA
(I/O)
Firmware_Ver2
IOLIM
DeviceB
(IOP)
Different Vendor
Image Version
Interface Module
DeviceC
Legend:
: software
: interface
: hardware
:Group
Note: FIM (Fieldbus Interface Module) IOLIM(I/O Link Interface Module) IOP (I/O Processor)
Embedded Software Architecture
Ethernet
High Alarm
Low Alarm
Comm. Err.
User Interface
Control Net
Data Access
Interface
Pressure
Device Interface Module
Temperature
I/O Control Net
Flow
Data bus
Valves
Embedded Software
Features:
•Redundant Hardware Interface
Primary, Secondary (OPM)
•Flexible Hardware Interface
Sub-Interface Module
•Relation between Virtual Device and Hardware Device
Configuration-time/Load-time/Run-time
References
 Ilango S. Kumaran, Jini Technology: An Overview, ISBN 0-13-033385-9
 Jim Waldo and The Jini Techology, The Jini Specifications, Second Edition,
edited by Ken Arnold, ISBN 0-201-72617-3
 Picture of Parnas: http://www.martinfowler.com/articles/xp2002.html
Related documents