html5-img
1 / 19

A Procedure for Designing Abstract Interfaces for Device Interface Modules

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?.

alayna
Télécharger la présentation

A Procedure for Designing Abstract Interfaces for Device Interface Modules

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Procedure for Designing Abstract Interfaces for Device Interface Modules Presented By: Andy Mroczkowski Dan Talaber Tracy Xie Joshua Wetzel David Parnas

  2. Overview • Definitions • Examples of Device Interface: Car JINI Embedded Real-Time Controller • Summary • Questions?

  3. Definitions User Program Device 1 Abstract Interface Device Interface Modules 1 Hardware Interface Device 1 Abstract Interface Device Interface Modules 1 Hardware Interface Legend: : hardware : software : interface

  4. Car Example

  5. Car Example Driving Brakes OperateCar Brake Pedal BrakeController Brake Line Engine Accelerator ThrottleController Fuel WheelAngle Steering Wheel Steering system SteeringColumn

  6. Car Example • Braking Disc Brakes OperateCar BrakePedal Brake Controller Brake Line Disc Brakes Brake Pedal ABS Controller BrakeLine

  7. Car Example • Braking Disc Brakes OperateCar BrakePedal Brake Controller Brake Line Perform- ance Brakes Brake Pedal Brake Controller BrakeLine

  8. 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

  9. 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.

  10. Jini Architecture in a Nutshell Clients Lookup Service Proxies Services

  11. Service and Lookup Service Service Lookup Service Proxy, Interface Legend: Repository Java Object Communication HW/SW/Both

  12. Client and Lookup Service Interface Client Lookup Service Proxy Legend: Repository Java Object Java Interface Communication SW w/ JVM

  13. Client and Service Client Service request Proxy Legend: HW/SW/Both Java Software Communication

  14. Client with JVM Common Service Interface Proxy Object Network Service Printer Proxy Object Office Tool Printer Interface LAN Printer Legend: Software Interface Service Provider How Jini Relates to Parnas’ Model Proxy objects implement an interface and encapsulate differences (e.g. protocols) among various service providers.

  15. Intro of Embedded Software System An embedded software system is a single component of a significantly larger hardware or software system.

  16. 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: :Group : software : interface : hardware Note: FIM (Fieldbus Interface Module) IOLIM(I/O Link Interface Module) IOP (I/O Processor)

  17. High Alarm Low Alarm Comm. Err. Embedded Software Architecture Ethernet Data Access Interface User Interface Control Net Pressure Device Interface Module Temperature I/O Control Net Flow Data bus Valves

  18. 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

  19. 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

More Related