Presentation is loading. Please wait.

Presentation is loading. Please wait.

Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract.

Similar presentations


Presentation on theme: "Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract."— Presentation transcript:

1 Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract Interfaces for Device Interface Modules by D. L. Parnas et al. Jianjun Hu Yakub Sailanawala CSE870 MSU 2002

2 Naval Research Lab's redesign of the flight SW for A-7 aircraft A Procedure for Designing Abstract Interfaces for Device Interface Modules A Procedure for Designing Abstract Interfaces for Device Interface Modules Heninger, K. Parker, R. Parnas, D.L. IEEE Fifth International Conference on Software Engineering - 1981  PROBLEM  SOLUTION  GOAL  Changes in hardware device interfaces often lead to widespread changes in the whole system  The device interface module [DIM] containing the device dependent code  The remaining software components that should be independent of device specific details.  design good abstract interfaces for DIM

3 Designing Abstract Interfaces … is to obtain its dual description  Assumption List  Assumption List: List of all the assumptions about the characteristics of the hardware devices the user programs are allowed to make  Functional Description:  Functional Description: API & Events Specification Assumption List explicitly states the assumptions about the characteristics that are implicit in the Functional description These descriptions must be reviewed by the users, hardware engineers and experienced programmers

4 Some Problems and Tradeoffs'  Characteristics that change independently should be contained in sub-modules  Certain variable parameters can be specified either at system generation time or at run time based on the cost of change and probability of change  Predictable changes or enhancements in the hardware device should be mentioned in assumptions even if not implemented

5 Commonality Analysis: A Systematic Process for Defining Families Commonality Analysis: A Systematic Process for Defining Families David M. Weiss Proceedings of IEEE Second International Workshop on Development and Evolution of Software Architectures for Product Families 1998 Analytical technique for defining families  Structured format for all the elements that go into designing and defining families  Process Description  Commonality Analysis refers to both, the end product of this analysis in the form of a document as well as the process Cited Paper 1

6 Contents of a Commonality Analysis document  Introduction  Overview  Dictionary of Terms  Dictionary of Terms - Standard set of terms used for the description of the family  Commonality Assumption List  Commonality – Parnas et al. referred to this section as the Assumption List  Variability  Variability – Documents the possible variations  Parameters of variation  Parameters of variation – Quantifies the variabilities  Issues  Appendices

7 Stages in the Analysis process PLAN Define purpose and scope of the familyANALYZE Define Terms Identify Commonalities Identify Variabilities QUANTIFY Define parameters of variation EXTERNAL REVIEW

8 Structuring formal control systems specifications for reuse: Surviving hardware changes Structuring formal control systems specifications for reuse: Surviving hardware changes J. Thompson, M. Heimdahl and D. Erickson In Proc. 5th NASA Langley Formal Methods Workshop - 2000  Problem To design software control system for members of a family that displays the same high level behavior and survives changes in replaceable hardware devices  Proposed Solution Obtain a high-level software specification of the requirements Cited Paper 2

9 General View of Software Controlled Systems and 4 Variable Model Process SensorsActuators Controller Monitored variables Software Input Software Output Controlled Variables MON CON INPUT OUTPUT REQ IN SOFT OUT

10 4 Variables Model was proposed by D. Parnas and Jan Madey 4 Variables Model for Control Systems & Module Decomposition MON CON INPUT OUTPUT REQ IN SOFT OUT Monitored variables Controlled Variables Software Input Software Output

11 Conclusion  The proposed decomposition of the software system results in a module ( ) that represents the system requirements reusable over control systems exhibiting same high level behavior  The sensors related information is confined to the module representing  The actuators related information is confined to the module representing

12 Device Independent Navigation and Interaction in Virtual Environments Device Independent Navigation and Interaction in Virtual Environments C. Faisstnauer, D. Schmalstieg, Z. Szalavari Proceedings of the 1998 VRST Adjunct Workshop on Computer Graphics, Taipei, Taiwan  Objective: – Achieving independence of virtual environment applications from particular available input devices  Mapper vs.DIM of Parnas’ paper  Major extensions – Integrate Different set of input devices – Layered interfaces – Automatic configuration (selection of input devices) Uncited Paper 1

13 Device Independent Navigation and Interaction in Virtual Environments (Cont’) Device independence by Mapper Structure of Mapper Uncited Paper 1

14 Device Independent Navigation and Interaction in Virtual Environments (Cont’)  Why it should cite Parna’s paper? – Mapper is similar to DIM for separating device independent components from device dependent components – Also discussed the issues of data transformation and emulation – Parna’s Procedure and principles can be suitably applied here – Natural extension of DIM Uncited Paper 1

15 An Abstract-Device Interface for Implementing Portable Parallel –I/O Interfaces An Abstract-Device Interface for Implementing Portable Parallel –I/O Interfaces R. Thakur, W. Gropp, and E. Lusk Proc. of the 6th Symposium on the Frontiers of Massively Parallel Computation, October 1996  Objective: – Portable and efficient Parallel-I/O Interface – Facilitate implementation of any parallel I/O API on any file systems Many File systems: Unix, PFS, PIOFS, NFS…. Many Parallel I/O API systems: IBM PIOFS, IntelPFS, RIO…  Approach: – ADIO: Abstract –device interface for parallel I/O – Similar to DIM, Mapper  Difference – Not used directly by application programs but by higher layer API Uncited Paper 2

16 An Abstract-Device Interface for Implementing Portable Parallel –I/O Interfaces (Cont’)  Limitations – this paper doesn’t provide some guidelines and procedure for how to design interfaces. – doesn’t discuss the trade-off of the levels of exposing the details of underlying file systems  Why should cite Parnas’ paper? – ADIO similar to DIM – Similar issues concerned – Parnas’ procedure can be applied to support the design of ADIO ADIO concept

17 Hints for computer system design Hints for computer system design B. W. Lampson, ACM Operating Systems Rev. 15, 5, 1983. Reprinted in IEEE Software 1, 1984.  Problem: Computer system design – Functionality – Speed – Faulty tolerance  Functionality design & Interface Design Interfaces are agreements on the functionalities that system should provide. Cited Paper 3

18 Hints for computer system design (Cont’)  Interface Design in Computer System – Simplicity, not generality Predictable cost. – Completeness – Don’t hide power ×Sacrifice power to generality Concept of Transparency of Hierarchical System [Parnas. 1975] – Flexibility by procedure parameter


Download ppt "Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract."

Similar presentations


Ads by Google