A Procedure for Designing Abstract Interfaces for Device
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 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 Services Proxies
Service and Lookup Service Legend: Service Proxy, Interface Repositor y 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 Legend: Service Proxy Java Software HW/SW/Both Communication
How Jini Relates to Parnas’ Model Office Tool Printer Interface Client with JVM 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 Big. Blue Data Access Interface Firmware_Ver 1 FIM Device. A (I/O) Firmware_Ver 2 IOLIM Device. B (IOP) Different Vendor Image Version Interface Module Device. C Legend: : software : interface : hardware : Group Note: FIM (Fieldbus Interface Module) IOLIM(I/O Link Interface Module) IOP (I/O Processor)
Embedded Software Architecture Ethernet User Interface Control Net High Alarm Low Alarm Comm. Err. 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/xp 2002. html
- Slides: 19