CUNY CSC 79000 - Use of the Concept of Transparency in the Design of Hierarchically Structured System

Unformatted text preview:

Use of the Concept of Transparency in the Design ofHierarchically Structured Systems D.L Parnas And D.P.SiewiorekCSC 79000 Spring 2003Summary for Professor---Presented by Xi Chen1. Introduction:When we design a hierarchically structured system, we build up different levels of the system. Each level in such a system provides a virtual machine which hides (or abstracts from) some aspects of the machine below it. In designing such a system, we repeatedly face a question: "How do I know that the instruction set provided by this machine is suitable for the programs which users will want to run upon it?"It seems the simplest answer is just freezing the design of a level. But from our experience, it will cause some inefficiency upon our final system or even eliminate some essential capability. Thus, we must find some other methods to solve this problem. This paper introduces a concept which appears to be very useful in the design of hierarchically structured systems. We call the concept “transparency”. There are two basic terminologies used in the hierarchically structured systems.• Base Machine: the lower level of a hierarchical structure, it may be either hardware or an intermediate level in our software system.• Virtual Machine: a level above the base machine. It typically implemented in software on the “top” of “real” hardware platform and operating system. And, it hides the complexity of the base machine to make interaction with the system easier.12. “Top Down” design and “Bottom Up” designSeveral papers suggest that the solution to software design problems lies in beginning with a precise description of the desired system and deriving the internal structure from it. The advantages of this solution are very obvious. It would - prevent design decisions which remove necessary capabilities - eliminate the risk of constructing a system with unexpected undesirable properties. This solution has been widely used in these years. Based on it, there are two kinds of extended approaches, called “Top Down” design and “Bottom Up” design.2.1 Top Down Design (Also called “Outside In” Design) Top Down design is one software design technique which aims to describe functionality at a very highlevel, then partition it repeatedly into more detailed levels until the further partition can no longer be achieved. In the other word, Top Down design solves a large problem by breaking down the problem into a smaller problem until the smaller problem is sufficient to allow coding.Advantages of the Top Down design: Top Down design allows the designer to tie interrelated components. If managed intelligently, it can help you take full advantage of the assembly model.Disadvantages of the Top Down design:• Difficult to obtain full specification• The derivation of a design from such a specification is often not feasible• Can result in software that is unnecessarily inflexible• Can specify unrealistic internal structures• Portions of internal structure could already be fixedFor these reasons, pure Top Down is rarely used. It usually used as complementary approaches according tothe needs of the situation.2.2 Bottom Up Design2Bottom Up design is the opposite of Top Down design. It designs from higher levels of abstraction down to lower, specifying sequences of action in increasing detail until you get to actual code. That means, it creates the system from a set of lower level components, solves entire project by working upwards, and joins them to get the hierarchically structured system. Advantage of the Bottom Up design: - More practical to implement internal structures first, creating separate modules and joining them together- More flexible and realizable.- Components can be reused from other projectsBottom Up can overcome most disadvantages of top-down design. It brings more practical and flexible to software design. Now, it is used by most programmers. Usually, a good design needs both “Bottom Up” design and “Top Down” design efforts.3. Transparency concept in hierarchically structured system3.1 Basic terminologies about “Transparency”- Transparency: describes the implementation completeness of the virtual machine with respect to the base machine’s functionality - Completely 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 machine3.2 The “Transparency” concept in hierarchical test generation The development of hardware/software techniques, especially the realization of extremely large and complex designs, has brought lots of testing problems. Testing cost and test development cost has become a3very important portion of the total products costs. Test generation is the technology which studied for this particular problem. Significant effort has been consequently invested in devising hierarchical approaches for satisfying current and future design and test needs. Hierarchical test generation, wherein test is locally generated foreach module and subsequently translated into global design applicable test, comprises a promising and viable alternative to the slow and complex global design gate-level test generation process. Though it, test generation can be much more quickly and efficiently than the traditional ways. The main characters of hierarchical test generation methodologies: • Handle large systems in a divide-and-conquer fashion• Test is locally generated for each module • Local design subsequently translated into global design• Offer lower test generation costs and increased test reuse.3.2.1 The disadvantage of the complete “transparency” To reduce test generation time, a complete hierarchical test generation approach was presented. This approach is based on the notion of test plans, which provide control sequences to propagate test data through modules. Key idea in these methodologies is identify control sequences that allow test data to be transparently propagated through modules. While such an approach provides parallel test access and allowsany test sequence at the inputs of a module to be propagated to the outputs, it suffers from two main drawbacks: - High test application time due to the transparency latency (multi-cycle transparency) required to propagate test data through a module. - The test control/data flow must be extracted in order to provide transparency.Thus, more


View Full Document

CUNY CSC 79000 - Use of the Concept of Transparency in the Design of Hierarchically Structured System

Download Use of the Concept of Transparency in the Design of Hierarchically Structured System
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Use of the Concept of Transparency in the Design of Hierarchically Structured System and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Use of the Concept of Transparency in the Design of Hierarchically Structured System 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?