Download presentation
Presentation is loading. Please wait.
Published byKelly Alban Small Modified over 9 years ago
1
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
2
Presentation Overview Top Down Design / Bottom Up Design Transparency in Bottom Up Design Examples of Transparency Conclusion Discussion Reference
3
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
4
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, pure Top Down is rarely used
5
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
6
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
7
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
8
Examples of Transparency Hardware Search Engine Access Levels in Experion PKS Controller Execution Environment
9
HW Example – Graphics Card Transparency Hierarchical LevelDescription 0Graphics Card – silicon 1Driver 2API – DirectX,OpenGL 3 Application – Game, CAD
10
Graphics Card Example (cont.) Positive results of transparency Much easier to program with API than directly with driver. Using an API lets an application run on different hardware Negative results of transparency Depending 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
11
Nvidia’s Unified Driver Architecture A way of dealing with a changing base machine. Image courtesy of AnandTech 1
12
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 drivers Higher performance arrives with newer drivers
13
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
14
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
15
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)
16
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
17
Controller Execution Environment Multi-user access Node 1Node 2 ControllerSystem
18
Controller Execution Environment Single user access Node 1Node 2 ControllerSystem
19
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
20
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
21
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?
22
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. http://www1.anandtech.com/showdoc.html?i=1297&p=2
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.