220 likes | 468 Views
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. Presentation Overview. Top Down Design / Bottom Up Design Transparency in Bottom Up Design
E N D
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
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, pure Top 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
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
Nvidia’s Unified Driver ArchitectureA 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 drivers • Higher 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 User Interface (Control Builder with Engineer Access, Station with Operator Access) Both of them sitting on different client nodes Data Transfer Component (Through Control Data Access and RsLinx) Controller (Strategy created and loaded)
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 Access Levels in Experion PKS
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.