30
1 Readings in Computer Science: Software Engineering Readings in Computer Science: Software Engineering Use of the Concept of Use of the Concept of Transparency Transparency in the in the Design of Design of Hierarchically Hierarchically Structured Systems Structured Systems Paper by Paper by D.L Parnas And D.P.Siewiorek D.L Parnas And D.P.Siewiorek Prepared by Prepared by Xi Chen Xi Chen May 16,2003 May 16,2003

Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003

  • Upload
    eithne

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

Readings in Computer Science: Software Engineering Use of the Concept of Transparency in the Design of Hierarchically Structured Systems. Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003. - PowerPoint PPT Presentation

Citation preview

Page 1: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

11

Readings in Computer Science: Software EngineeringReadings in Computer Science: Software Engineering

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

Paper byPaper by D.L Parnas And D.P.SiewiorekD.L Parnas And D.P.Siewiorek

Prepared by Prepared by Xi ChenXi Chen

May 16,2003May 16,2003

Page 2: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

22

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

The overview of the presentation:The overview of the presentation:

• Top Down Design / Bottom Up DesignTop Down Design / Bottom Up Design• Transparency in Bottom Up DesignTransparency in Bottom Up Design• Examples of TransparencyExamples of Transparency• Hierarchical test generationHierarchical test generation

Page 3: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

33

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

Terminologies:Terminologies: When you build up the system hierarchy, you create structural levelsWhen you build up the system hierarchy, you create structural levels

• Base MachineBase Machine– the lower level of a hierarchy, maybe hardware or the lower level of a hierarchy, maybe hardware or

an intermediate software levelan intermediate software level

• Virtual MachineVirtual Machine– a level above the base machine a level above the base machine – typically implemented in software on the “top” of typically implemented in software on the “top” of “ “ real” hardware platform and operating system.real” hardware platform and operating system.– it hides the complexity of the base machine to it hides the complexity of the base machine to

make interaction with the system easiermake interaction with the system easier

Page 4: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

44

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

• When constructing hierarchical systems, each When constructing hierarchical systems, each level in such a system provides level in such a system provides a virtual machinea virtual machine which hides some aspects of the machine below which hides some aspects of the machine below it. Thus, in designing such a system, we it. Thus, in designing such a system, we repeatedly face this question:repeatedly face this question:

““How do I know the instruction set How do I know the instruction set provides by this machine is suited for provides by this machine is suited for the programs which users want to the programs which users want to run upon it?run upon it?””

Page 5: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

55

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

• The purpose of this paper:The purpose of this paper: introduce a concept introduce a concept

which appears to be usefulwhich appears to be usefulin the design of hierarchically structured systemsin the design of hierarchically structured systems

The purpose of this paper is toThe purpose of this paper is to introduce a concept which introduce a concept which appearsappears

to be useful in the design of hierarchically structured to be useful in the design of hierarchically structured systems.systems.

Page 6: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

66

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

Several papers suggest that the Several papers suggest that the solution to software design problemssolution to software design problems lies in: lies in:

• beginning with beginning with a a precise descriptionprecise description of the of the desired system desired system

• deriving deriving the the internal structureinternal structure from it from it the advantages of this solution:the advantages of this solution:

• prevent design decisions which remove prevent design decisions which remove necessary capabilities necessary capabilities

• eliminate the risk of constructing a system eliminate the risk of constructing a system with unexpected undesirable properties.with unexpected undesirable properties.

Page 7: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

77

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

The overview of the presentation:The overview of the presentation:

• Top Down Design / Bottom Up DesignTop Down Design / Bottom Up Design• Transparency in Bottom Up DesignTransparency in Bottom Up Design• Examples of TransparencyExamples of Transparency• DiscussionDiscussion• ReferenceReference

Page 8: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

88

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

• Top Down Design Top Down Design (Also called “Outside In” Design)•one software design techniqueone software design technique

•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

Page 9: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

99

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

Problems with Top Down design:Problems with Top Down design:• Difficult to obtain full specificationDifficult to obtain full specification• The derivation of a design from such a specification The derivation of a design from such a specification

is often not feasibleis often not feasible• Can result in software that is unnecessarily inflexibleCan result in software that is unnecessarily inflexible• Can specify unrealistic internal structuresCan specify unrealistic internal structures• Portions of internal structure could already be fixedPortions of internal structure could already be fixed

For these reasons, pure Top Down is rarely usedFor these reasons, pure Top Down is rarely used

Page 10: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1010

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

Bottom Up DesignBottom Up Design• Create the system from a set of lower level components• 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.

Page 11: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1111

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

The overview of the presentation:The overview of the presentation:

• Top Down Design / Bottom Up DesignTop Down Design / Bottom Up Design• Transparency in Bottom Up DesignTransparency in Bottom Up Design• Examples of TransparencyExamples of Transparency• Hierarchical test generationHierarchical test generation

Page 12: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1212

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

• Transparency:Transparency: describes the implementation completeness of the virtual describes the implementation completeness of the virtual

machine with respect to the base machine’s functionalitymachine with respect to the base machine’s functionality

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

base machinebase machine

• Loss of transparency:Loss of transparency: a lack of functionality with respect to the base machinea lack of functionality with respect to the base machine exists in the virtual machineexists in the virtual machine

Page 13: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1313

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

The overview of the presentation:The overview of the presentation:

• Top Down Design / Bottom Up DesignTop Down Design / Bottom Up Design• Transparency in Bottom Up DesignTransparency in Bottom Up Design• Examples of TransparencyExamples of Transparency• Hierarchical test generationHierarchical test generation

Page 14: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1414

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

• Preliminary example:Preliminary example: The following example is intended to illustrate the The following example is intended to illustrate the concept concept

of transparencyof transparency

Page 15: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1515

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

• Figure 1 shows a diagram of a Figure 1 shows a diagram of a low level portion of a four low level portion of a four wheeled vehicle. wheeled vehicle.

• Note that each front wheel is Note that each front wheel is connected to two strings connected to two strings

• a driver controls the steering a driver controls the steering by pulling on a total of four by pulling on a total of four strings.strings.

Page 16: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1616

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

• Figure 2 shows the addition of a Figure 2 shows the addition of a higher level mechanism based higher level mechanism based on the mechanism of Figure 1 on the mechanism of Figure 1 to provide a more convenient to provide a more convenient virtual machine for the driver.virtual machine for the driver.

• The ropes have been wrappedThe ropes have been wrapped around a steering wheel and around a steering wheel and

attached so that now the attached so that now the vehicle can be controlled by the vehicle can be controlled by the more easily learned mechanism more easily learned mechanism of turning the wheel in the of turning the wheel in the desired direction.desired direction.

• If this is properly done, it is a If this is properly done, it is a very good abstraction very good abstraction from the from the real machine real machine

Page 17: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1717

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

Figure 3 shows some of Figure 3 shows some of the possible states of the possible states of Fig.1Fig.1

Page 18: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1818

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

Figure 3 shows some of the statesFigure 3 shows some of the stateswhich were possible with the lowerwhich were possible with the lowerlevel conlevel control mechanismtrol mechanism• Positions (a) and (b) will be possible by the use of Positions (a) and (b) will be possible by the use of

any reasonably designed steering wheel any reasonably designed steering wheel implementation.implementation.

• Positions (c) and (d) will no longer be possible Positions (c) and (d) will no longer be possible with reasonable implementation. with reasonable implementation.

• Very sharp turns (e) could be eliminated by some Very sharp turns (e) could be eliminated by some designs and permitted by others.designs and permitted by others.

Page 19: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

1919

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

• If fig2 is transparency,If fig2 is transparency, the states are all accepted.the states are all accepted.• If fig2 is loss of transparency,If fig2 is loss of transparency, the states c, d can’t happen.the states c, d can’t happen.

Page 20: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2020

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

The overview of the presentation:The overview of the presentation:

• Top Down Design / Bottom Up DesignTop Down Design / Bottom Up Design• Transparency in Bottom Up DesignTransparency in Bottom Up Design• Examples of TransparencyExamples of Transparency• Hierarchical test generationHierarchical test generation

Page 21: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2121

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

Test generationTest generation: : The development of The development of

hardware/softwarehardware/softwaretechniques has brought lots of techniques has brought lots of

testingtestingproblems.problems.Test development cost and testing Test development cost and testing

costcosthave become an important portion have become an important portion

of of the total products costs.the total products costs.

Test generationTest generation is studied for the is studied for the particular problem.particular problem.

Test generation and testability analysis in aTest generation and testability analysis in ahardware/software co-design environmenthardware/software co-design environment

Page 22: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2222

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

hierarchical test hierarchical test generation:generation:

• test is locally generated test is locally generated for each module for each module

• Local design Local design subsequently translated subsequently translated into global designinto global design

Hierarchical Test Generation Hierarchical Test Generation Framework:Framework:

Page 23: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2323

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

Hierarchical test methodologies handle largeHierarchical test methodologies handle largesystems in a systems in a divide-and-conquerdivide-and-conquer fashion. fashion.

• These techniques offer lower test generation costs These techniques offer lower test generation costs • Increased test reuse.Increased test reuse.

key ideakey idea in these methods is identify control sequences in these methods is identify control sequencesthat allow test data to be transparently flow throughthat allow test data to be transparently flow throughmodules.modules.

Page 24: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2424

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

• M has one 4-bit input port X and one 2-bit output port Z.

Fig6 Combinational module MFig6 Combinational module M

Page 25: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2525

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

Transparency of modules can be trivially achieved byTransparency of modules can be trivially achieved byproviding a direct path from each module input to providing a direct path from each module input to

outputoutputwith the help of multiplexers.with the help of multiplexers.

Transparency can be achieved by embedding Transparency can be achieved by embedding multiplexersmultiplexers

in the behavioral models described using a hardwarein the behavioral models described using a hardwaredescription language.description language.

Page 26: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2626

• input T is used to switch M from the normal mode (T = 0) to a pass-through, transparent mode (T = 1). An additional 2-bit output port Y is added to ensure complete transparency of M.

Page 27: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2727

Transparency properties:Transparency properties:

Using this Module, testability requirements at the inputs of a

module are translated to

equivalent requirements at the output of the module and vice versa.

Page 28: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2828

• Repeat this Repeat this transparency concepttransparency concept, we get the , we get the hierarchical hierarchical test generation framework test generation framework

Page 29: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

2929

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

• References:References:1.PROPERTY-BASED TESTABILITY ANALYSIS FOR HIERARCHICAL RTL DESIGNS

http://www.cs.ucsd.edu/groups/rssl/Papers/YIORGOS/icecs_yiorgos99.pdf

2. Synthesis of Transparent Circuits for Hierarchical and System-on-a-Chip Test1 http://www.ee.duke.edu/~krish/ICVD.pdf

Page 30: Paper by D.L Parnas And D.P.Siewiorek Prepared by   Xi Chen May 16,2003

3030