Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A Procedure for Designing Abstract Interfaces for Device Interface Modules Presented By: Andy Mroczkowski Dan Talaber Tracy Xie Joshua Wetzel David Parnas."— 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: CarJINI Embedded Real-Time Controller  Summary  Questions?

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

4 Car Example

5 Driving Operate Car Brake Pedal Brake Controller Brake Line Brakes Accelerator Throttle Controller Fuel Engine Steering Wheel Steering system Steering Column Wheel Angle

6 Car Example  Braking Brake Pedal Brake Controller Brake Line Disc Brakes Brake Pedal ABS Controller Brake Line Disc Brakes Operate Car

7 Car Example  Braking Brake Pedal Brake Controller Brake Line Disc Brakes Brake Pedal Brake Line Perform- ance Brakes Operate Car Brake Controller

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 Clients Services Lookup Service Proxies Jini Architecture in a Nutshell

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

12 Client and Lookup Service Lookup Service Client Legend: SW w/ JVM CommunicationRepositoryJava Object Proxy Java Interface Interface

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

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

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

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

18 Embedded So f tware 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


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

Similar presentations


Ads by Google