a procedure for designing abstract interfaces for device interface modules
DESCRIPTION
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?. - PowerPoint PPT PresentationTRANSCRIPT
A Procedure for Designing A Procedure for Designing Abstract Interfaces for Device Abstract Interfaces for Device
Interface ModulesInterface ModulesPresented By:Presented By:
Andy MroczkowskiAndy MroczkowskiDan TalaberDan Talaber
Tracy XieTracy XieJoshua WetzelJoshua Wetzel
David Parnas
OverviewOverview
DefinitionsDefinitions Examples of Device Interface:Examples of Device Interface:
Car Car
JINIJINI
Embedded Real-Time ControllerEmbedded Real-Time Controller SummarySummary Questions?Questions?
DefinitionsDefinitions
UserProgram
AbstractInterface
Device InterfaceModules 1
HardwareInterface
Legend:
Device 1
: software : interface : hardware
AbstractInterface
Device InterfaceModules 1
HardwareInterface Device 1
Car Example Car Example
Car ExampleCar Example
DrivingDriving
OperateCar
BrakePedal
BrakeController
BrakeLine
Brakes
Accelerator ThrottleController
Fuel Engine
SteeringWheel Steering system
SteeringColumn
WheelAngle
Car ExampleCar Example
BrakingBraking
BrakePedal Brake Controller
BrakeLine
DiscBrakes
BrakePedal ABS Controller
BrakeLine
DiscBrakes
OperateCar
Car ExampleCar Example
BrakingBraking
BrakePedal Brake Controller
BrakeLine
DiscBrakes
BrakePedal
BrakeLine
Perform-ance
Brakes
OperateCar
Brake Controller
Car ExampleCar Example
Design ApproachDesign Approach Assumption List Characterizing the Virtual Assumption List Characterizing the Virtual
DeviceDevice ““The device provides a mechanism which slows The device provides a mechanism which slows
the car at variable rates.”the car at variable rates.”
Programming Constructs Embodying the Programming Constructs Embodying the AssumptionsAssumptions INCREASE_BRAKINGINCREASE_BRAKING DECREASE_BRAKINGDECREASE_BRAKING
JiniJini
What is Jini?What is Jini? A dynamic distributed computing architecture A dynamic distributed computing architecture
that provides spontaneous networking that provides spontaneous networking between clients and services.between clients and services.
Effective use of abstract interfaces and device Effective use of abstract interfaces and device interface modules.interface modules.
Clients
Services
Lookup Service Proxies
Jini Architecture in a Nutshell
LookupService
Service and Lookup ServiceService and Lookup Service
Proxy,Interface
Legend:
HW/SW/Both Communication Repository Java Object
Service
Client and Lookup ServiceClient and Lookup Service
LookupService
Client
Legend:SW w/ JVM CommunicationRepository Java Object
Proxy
Java Interface
Interface
Client and ServiceClient and Service
Proxyrequest
Legend:Java Software Communication
Client Service
HW/SW/Both
Client withJVM
CommonServiceInterface
ProxyObject
Network Service
InterfaceSoftware
Legend:
ServiceProvider
How Jini Relates to Parnas’ Model
Proxy objects implement an interface and encapsulate differences (e.g. protocols) among various service providers.
Office Tool
Printer Interface
Printer Proxy Object
LAN Printer
Intro of Embedded Software SystemIntro of Embedded Software System
An embedded software system is a single An embedded software system is a single component of a significantly larger component of a significantly larger hardware or software system.hardware or software system.
Embedded Software Design with Embedded Software Design with Abstract InterfaceAbstract Interface
User InterfaceClient
Control BuilderStationBigBlue
Data Access Interface Firmware_Ver1 FIM DeviceA(I/O)
Firmware_Ver2 IOLIM
Different Vendor Image Version Interface Module
DeviceB(IOP)
DeviceC
Legend:
: software : interface : hardware
Note: FIM (Fieldbus Interface Module) IOLIM(I/O Link Interface Module) IOP (I/O Processor)
:Group
Embedded Software ArchitectureEmbedded Software ArchitectureEthernet
Control Net
User Interface
I/O Control Net
Data bus
Device Interface Module
Pressure
Temperature
Flow
Valves
High AlarmLow AlarmComm. Err.
Data Access Interface
Embedded SoEmbedded Sofftwaretware
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
ReferencesReferences Ilango S. Kumaran, Ilango S. Kumaran, Jini Technology: An OverviewJini Technology: An Overview, ISBN 0-13-033385-9, ISBN 0-13-033385-9 Jim Waldo and The Jini Techology, Jim Waldo and The Jini Techology, The Jini SpecificationsThe Jini Specifications, Second Edition, , Second Edition,
edited by Ken Arnold, ISBN 0-201-72617-3edited by Ken Arnold, ISBN 0-201-72617-3 Picture of Parnas: http://www.martinfowler.com/articles/xp2002.htmlPicture of Parnas: http://www.martinfowler.com/articles/xp2002.html