Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract Interfaces for Device Interface Modules by D. L. Parnas et al. - PowerPoint PPT Presentation

About This Presentation
Title:

Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract Interfaces for Device Interface Modules by D. L. Parnas et al.

Description:

Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract Interfaces for Device Interface Modules by D. L. Parnas et al. – PowerPoint PPT presentation

Number of Views:176
Avg rating:3.0/5.0
Slides: 18
Provided by: JasonH178
Learn more at: http://www.cse.msu.edu
Category:

less

Transcript and Presenter's Notes

Title: Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract Interfaces for Device Interface Modules by D. L. Parnas et al.


1
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
A Procedure for Designing Abstract Interfaces for
Device Interface ModulesHeninger, K.
Parker, R. Parnas, D.L.IEEE Fifth
International Conference on Software Engineering
- 1981
  • 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
  • PROBLEM
  • SOLUTION
  • GOAL

3
Designing Abstract Interfaces
  • is to obtain its dual description
  • Assumption List List of all the assumptions
    about the characteristics of the hardware devices
    the user programs are allowed to make
  • 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 FamiliesDavid M. Weiss Proceedings of
IEEE Second International Workshop on Development
and Evolution of Software Architectures for
Product Families 1998
Cited Paper 1
  • 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

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

7
Stages in the Analysis process

PLAN Define purpose and scope of the family
  • ANALYZE
  • Define Terms
  • Identify Commonalities
  • Identify Variabilities

QUANTIFY Define parameters of variation
EXTERNAL REVIEW
8
Structuring formal control systems specifications
for reuse Surviving hardware changesJ.
Thompson, M. Heimdahl and D. EricksonIn Proc.
5th NASA Langley Formal Methods Workshop - 2000
Cited Paper 2
  • 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

9
General View of Software Controlled Systems and
4 Variable Model
CON
MON
REQ
Monitored variables
Controlled Variables
Process
IN
OUT
Sensors
Actuators
Software Input
Software Output
Controller
INPUT
OUTPUT
SOFT
10
4 Variables Model for Control Systems Module
Decomposition
CON
MON
REQ
Controlled Variables
Monitored variables
IN
OUT
Software Input
Software Output
INPUT
OUTPUT
SOFT
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 EnvironmentsC. Faisstnauer, D.
Schmalstieg, Z. Szalavari Proceedings of the
1998 VRST Adjunct Workshop on Computer Graphics,
Taipei, Taiwan
Uncited Paper 1
  • 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)

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

15
An Abstract-Device Interface for Implementing
Portable Parallel I/O InterfacesR. Thakur, W.
Gropp, and E. Lusk Proc. of the 6th Symposium on
the Frontiers of Massively Parallel Computation,
October 1996
Uncited Paper 2
  • 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

16
An Abstract-Device Interface for Implementing
Portable Parallel I/O Interfaces (Cont)
  • Limitations
  • this paper doesnt provide some guidelines and
    procedure for how to design interfaces.
  • doesnt 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 B. W. Lampson,
ACM Operating Systems Rev. 15, 5, 1983.
Reprinted in IEEE Software 1, 1984.
Cited Paper 3
  • Problem Computer system design
  • Functionality
  • Speed
  • Faulty tolerance
  • Functionality design Interface Design
  • Interfaces are agreements on the functionalities
    that system should provide.

18
Hints for computer system design (Cont)
  • Interface Design in Computer System
  • Simplicity, not generality
  • Predictable cost.
  • Completeness
  • Dont hide power
  • Sacrifice power to generality
  • Concept of Transparency of Hierarchical System
    Parnas. 1975
  • Flexibility by procedure parameter
Write a Comment
User Comments (0)
About PowerShow.com