use of the concept of transparency in the design of hierarchically structured systems paper by: d.l....

22
Use of the Concept of Transparency in the Design of Hierarchically Structured Systems Paper by: D.L. Parnas and D.P. Siewiorek Presentation by: Josh Wetzel Andy Mroczkowski Tracy Xie Dan Talaber

Upload: kelly-alban-small

Post on 29-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Use of the Concept of Transparency in the Design of Hierarchically Structured Systems

Paper by:D.L. Parnas and D.P. Siewiorek

Presentation by:Josh Wetzel

Andy MroczkowskiTracy Xie

Dan Talaber

Presentation Overview

Top Down Design / Bottom Up Design Transparency in Bottom Up Design Examples of Transparency Conclusion Discussion Reference

Top Down Design

Also called “Outside In” Design Describes and creates a system from the

highest hierarchical level where the full specifications of a design must be known

Solve a large problem by breaking down the problem into a smaller problem

Continue until further decomposition can no longer be achieved

Problems with Top Down

Difficult or infeasible to obtain full specification Can result in software that is unnecessarily

inflexible Can specify unrealistic internal structures Portions of internal structure could already be fixed

For these reasons, pureTop Down is rarely used

Bottom Up Design

Create the system “Inside Out” from a set of lower level components (i.e. “start at the bottom”)

Work upwards, solving entire project Reuse components from other projects More practical to implement internal structures

first, creating separate modules and joining them together

Bottom Up is more flexible. Hard to design “general purpose” system / library using top-down

Bottom Up Design (cont.)

As you move up the system hierarchy, you create structural levels

Base Machine the lower level of a hierarchy, maybe

hardware or an intermediate software level Virtual Machine

a level above the base machine, it hides the complexity of the base machine to make interaction with the system easier

Transparency in Bottom Up Design

Transparency describes the implementation completeness of the

virtual machine with respect to the base machine’s functionality

Complete transparency the virtual machine has ALL of the functionality of the

base machine Loss of transparency

a lack of functionality with respect to the base machine exists in the virtual machine

Examples of Transparency

Hardware Search Engine Access Levels in Experion PKS Controller Execution Environment

HW Example – Graphics Card Transparency Hierarchical Level Description

0 Graphics Card – silicon

1 Driver

2 API – DirectX,OpenGL

3Application – Game, CAD

Graphics Card Example (cont.)

Positive results of transparencyMuch easier to program with API than directly with

driver. Using an API lets an application run on different hardware

Negative results of transparencyDepending on implementation, an application

might not run as fast on a particular piece of hardware. I.e., it won’t fully utilize certain hardware features

Nvidia’s Unified Driver Architecture A way of dealing with a changing base machine.

Image courtesy of AnandTech1

Nvidia’s Unified Driver Architecture

All drivers communicate with a hardware abstraction level (HAL) that resides on silicon

“temporary degree of transparency”Basic functionality exists with older driversHigher performance arrives with newer drivers

Search Engine Example

Simple user interface which interacts with a complex database

User can only run simple queries User cannot modify data through the interface

Search Engine Example

Large loss of transparency yields mainly positive effects

Maintains data integrity Loss of transparency does not hinder usability

from the user’s perspective There were no significant negative effects

identified

Access Levels in Experion PKS

Data Transfer Component(Through Control Data Access and RsLinx)

User Interface (Control Builder with Engineer Access,

Station with Operator Access)Both of them sitting on different client nodes

Controller (Strategy created and loaded)

Access Levels in Experion PKS

Operator: Monitoring the running time data transfer Monitoring the running time Alarm Events Emergency System Shutdown

Engineer: Extends the tasks of the operator Modify the running time Configuration Modify the running time data value

Controller Execution Environment

Multi-user access

Node 1 Node 2

Controller System

Controller Execution Environment

Single user access

Node 1 Node 2

Controller System

Suggestive and Misleading Transparency Suggestive: Sometimes the virtual machine

should give “suggestions” to the base machine. Zombie Processes

Misleading: Sometimes the virtual machine implementation is inefficient because of a lack of information at a lower level

Conclusion

“… a fundamental ‘tradeoff’ which exists between transparency and flexibility of a design.”

Determining the right level of transparency for the higher level structure is crucial in order to obtain its goals

Discussion

How do you determine the right level of transparency for a hierarchically structured system?

When there exists too much of a loss of transparency, should there exist a way of accessing the base machine?

What if you cannot know all the types of programs to be created from the base machine?

Reference

1 - Anand Lal Shimpi, “NVIDIA's Detonator3 Drivers - Teaching an ‘old’ dog new tricks”, August 14, 2000, http://www1.anandtech.com/showdoc.html?i=1297&p=2.