Questions and Exercises
  1. Sketch a diagram showing the "knowledge gap" that occurs in the lifecycle development of new products.

    Briefly describe techniques that can be used to narrow the knowledge gap.

    Why is the knowledge gap for "routine" design narrower than "new" design?

  2. Why is "abstraction" an important principle for the design of complex engineering systems?

  3. We expect that future design methodologies will employ reuse of design entities described at both high and low levels of abstraction. With respect to the development of a Sony Walkman product line:
        -- Give two examples of design entities that might be reused 
           and described at a high level of abstraction.
        -- Give two examples of design entities that might be reused 
           and described at a low level of abstraction.
    

  4. What are the challenges, benefits and trade-offs that exist in the practical reuse of work at "low" and "high" levels of abstraction?

  5. Why are systems engineers interested in developing methodologies that "orthogonalize" design concerns. What does this mean? What are the anticipated benefits? How might this occur?

  6. What is a formal method? Why are systems engineers interested in developing methodologies that employ "formal methods?"

  7. What are the purposes of a "standards processing" program? For the design of a multi-disciplinary electro-mechanical system (e.g., a Sony Walkman) what are some of the difficulties facing the implementation of such a system?

  8. What is the difference between "validation" and "verification?" Briefly explain how validation and verification technquies are currently employed in the development of products?

    Looking ahead, how is this expected to change in the future development of systems. What are the benefits and challenges of such a change?

  9. What are the main differences between functional and object-oriented approaches to system development?

  10. Are object-oriented approaches to system development essential? If not, why not? If so, why?

  11. Draw a flow-chart diagram showing the sequence of activities that occur in function-architecture co-design.

  12. What are the differences between "function-architecture co-design" and "hardware-software co-design?"

  13. At the logical stage of design, a key question is "can the system work?" Describe (I suggest using simple labeled diagrams) how this issue manifests itself for:
         -- A mechanical design.
         -- An electrical design.
         -- A computer software program.
    

    In practical terms, what is the difference between "can the system work?" and "how does the system work?"

  14. Explain the role of "mappings" at the logical and physical stages of design.

  15. Suppose that task requires completion of four activities "A," "B," "C" and "D." The scheduling of activities is constrained as follows:
         -- Activities "A" and "B" can run concurrently.
         -- Activities "C" and "D" can run concurrently.
         -- Activities "C" and "D" cannot begin until both
            "A" and "B" are complete.
    

    Draw an activity diagram for this scenario.

  16. How does UML facilitate "top-down" design of complex systems?

  17. How does UML facilitate "bottom-up" synthesis of complex systems?

  18. What are the principles that should be followed in "decomposing" a complex system into an assembly of simpler sub-systems.

  19. Suppoese that you are working for Honda designing their next release "Civic" automobible. Assuming that the next release will be an extension of previous models:
        -- What are three examples of reuse at low-levels of abstraction?
        -- What are three examples of reuse at high-levels of abstraction?
    

  20. Briefly explain how "current practices of design" deviate from the logical-physical design pathway.

  21. As a "rule of thumb," the functionality of systems should be decomposed down to a level of detail where each function can be assigned to a single device.

    Briefly explain how this principle applies to the system-level design of the quadratic equation machine (which you just handed in).

  22. A fundemental tenet of systems modeling and analysis is the need to support (simplified) models tailored to specific viewpoints.

    Briefly explain how this principle might apply to the system-level design of the quadratic equation machine (which you just handed in).

  23. Suppose that you have been asked to evaluate the "logical design" of several design alternatives for an engineering system (e.g., a controlled traffic intersection).

    What are some of the factors you should incorporate in a systematic evaluation and trade-off analysis of design alternatives?

  24. Suppose that you have been asked to evaluate the "physical design" of several design alternatives for an engineering system (e.g., a controlled traffic intersection).

    What are some of the factors you should incorporate in a systematic evaluation and trade-off analysis of design alternatives?

  25. Why do we say UML is a "visual modeling language" and not a "visual programming language?"

  26. UML was developed to support synthesis of large and complex software systems. Briefly describe some of the problems you foresee in adapting UML to systems engineering applications.

  27. Briefly explain how UML diagrams can be stored in databases?

  28. What are the key differences between sequence and collaboration diagrams?

  29. UML models include relationships, things and occurrences. Explain how models of system behavior, system structure, and system design alternatives are derived from these fundamental entities of UML.

  30. How do generalized use cases differ from use case instances? Demonstrate by example how use case instances are usef ul for the quadratic equation machine (developed in the homework).

  31. What is a meta-model?

  32. What are some of the key differences between low- and high-end models of traceability? In your opinion, where do the requirements engineering tools DOORS and SLATE fit into this range of capability?

  33. Briefly explain how design structure matrices can be used to improve design processes.

  34. What are the trade-offs that can occur in mapping models of system behavior onto models of system structure?

  35. What is the purpose of a facade design pattern?

  36. With respect to component based design, what are upper- and lower- interfaces? Briefly describe an application of these interfaces for something found in the home.

  37. What is the key shortcoming of reuse through "cut-and-paste?"

  38. In the pathway of development for a reuseable component library, "Generalize" is a key step. In this context, what does "generalize" mean?


Acknowledgments

Thanks to the students in ENSE 621 and ENSE 622, the National Science Foundation, and industry support -- General Electric CRD, Lockheed Martin, and NASA Goddard Space Flight Center.


References and Web Resources

REFERENCES

  1. Alexander C. et al., A Pattern Language , Oxford University Press, New York, 1977.
  2. Armour F., Miller G., Advanced Use Case Modeling, Addison-Wesley, 2001.
  3. Balasubramaniam R., Jarke M., "Toward Reference Models for Requirements Traceability," IEEE Transactions on Software Engineering, Vol. 27, No. 1, January 2001.
  4. Biggerstaff T. and Ricter C., Reusability Framework, Assessment and Directions, Tutorial: Software Reuse -- Emerging Technology, IEEE Computer Society, EH0278-2, pp. 3-11.
  5. Bienvenu M.P., Shin I., and Levis A.H., C4ISR Architectures: III. An Object-Oriented Approach for Architecture Design, Systems Engineering , Vol. 3, No. 4, pp. 288-307, 2000.
  6. Bock C., "Three Kinds of Behavior Model," Journal of Object-Oriented Programming, Vol. 12, No. 4, July/August 1999.
  7. Carchiols V., Malgeri M., and Mangioni G., Hardware/Software Synthesis of Formal Specifications in CoDesign of Embedded Systems, ACM Transactions on Design Automation of Electronic Systems, Vol. 5, No. 3, July 2000, pp. 399-422.
  8. Communications of the ACM., Issue on Software Patterns, October 1996, Vol. 39, No. 10, New York, 1996.
  9. Gamma E. et al., Design Patterns: Elements of Reusabel Object-Oriented Software , Addison-Wesley, Reading, Mass., 1995.
  10. Gomaa H., Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison-Wesley, 2000.
  11. Graham I., Object-Oriented Methods : Principles and Practice , Third Edition, Addison-Wesley, 2001.
  12. Keutzer K., Malik S., Newton R.A., Rabaey J.M., Sangiovanni-Vincentelli A., System-Level Design : Orthogonalization of Concerns and Platform-Based Design, IEEE Transactions on Computer-Aided Design of Circuits and Systems, Vol. 19, No. 12, December 2000.
  13. Larman C., Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design , Prentice-Hall, 1998.
  14. Lin, Y.L., "Survey Paper: Recent Development in High-Level Synthesis," ACM Transactions on Design Automation of Electronic Systems, Vol. 2, No. 1., January 1997, pp. 2-21.
  15. Mitschele-Thiel A., "Systems Engineering with SDL," John-Wiley and Sons, New York, 2001.
  16. Ogren I., "Possible Tailoring of the UML for Systems Engineering Purposes," Systems Engineering , Vol. 3, No. 4, pp. 212-224, 2000.
  17. Oliver D.W., Kelliher T.P., and Keegan Jr. J.G., Engineering Complex Systems : With Models and Objects , McGraw Hill, 1997.
  18. Rechtin E., Maier M.W., The Art of Systems Architecting , Systems Engineering Series, CRC Press, 1997.
  19. Rowlett T., The Object-Oriented Development Proces , Prentice-Hall, Upper Saddle River, NJ 07458, 2001.
  20. Sangiovanni-Vincentelli A., McGeer P.C., Saldanha A., "Verification of Electronic Systems," Design Automation Conference 96, Las Vegas, NV, USA.
  21. Satzinger J.W. et al., Systems Analysis and Design in a Changing World , 2000 Course Technology, a division of Thomson Learning, 2000,
  22. Schultz A.P., Clausing D.P., Fricke E., Negele H., "Development and Integration of Winning Technologies as a key to Competitive Advantage," Systems Engineering, Vol. 3, No. 4., 2000.
  23. The Patterns Handbook : Techniques, Strategies and Applications , Collected and Introduced by Linda Rising, SIGS Reference Library. Cambridge Press, 1998.

Component-Based Design

  1. Atkinson C., et al., Component-Based Product Line Engineering with UML, Component Software Series, Addison-Wesley, 2002.
  2. Brown A.W., Large-Scale Component-based Development, Prentice-Hall, 2000.
  3. Wallnau K.C., Hissam S.A., Seacord R.C., Building Systems from Commercial Components, Addison-Wesley, 2001.

Principles of Engineering Design

  1. Whitney D.E., "Designing the Design Process," Research in Engineering Design, Vol. 2, 1990, pp. 3-13.
  2. Whitney D.E., "Why Mechanical Design Cannot be like VLSI Design," Research in Engineering Design, Vol. 8, 1996, pp. 125-138.
  3. Finger S., and Dixon J.R., A Review of Research in Mechanical Engineering Design, Part II : Representations, Analysis and Design for Life Cycle," Research in Engineering Design. Vol 1., No. 2. pp. 121-137, 1998.
  4. Ahmed S., "The Relationships between Data, Information, and Knowledge Based on a Preliminary Study of Engineering Designers," DETC99, ASME Design Theory and Methodology, September 12-15, Las Vegas, Nevada, 1999.
  5. Gebala D.A., Eppinger S.D., "Methods for Analyzing Design Procedures," DE Vol. 31, Design Theory and Methodology, ASME, 1991. pp. 227-233.

Decision Theory/Decision-Based Design/Systems Design

  1. Thurston D.L., "Real and Perceived Limitations to Decision Based Design," Proceedings of the 1999 ASME Design Engineering Technical Conferences : DETC99, DTM-8750. Las Vegas, Nevada, September 12-15, 1999.
  2. Finch W.W., "An Overview of Inference Mechanisms for Quantified Relations," Proceedings of the DETC98, ASME Design Engineering Technical Conferences, Atlanta, GA, September 13-16, 1998.
  3. Finch W.W., "Set-Based Models of Product Platform Design and Manufacturing Processes," Technology Development at the Fuzzy Front End as a Key to Success, Proceedings of the 1999 ASME Design Engineering Technical Conferences : DETC99, DTM-8750. Las Vegas, Nevada, September 12-15, 1999.
  4. Schulz A.P., Clausing D.P., Negele H., Fricke E., "Shifting the View in Systems Development - Technology Development at the Fuzzy Front End as a Key to Success, Proceedings of the 1999 ASME Design Engineering Technical Conferences : DETC99, DTM-8750. Las Vegas, Nevada, September 12-15, 1999.

Counter Examples for Decision Making

  1. Buede, D. M. and Maxwell, D. T., 1995, "Rank Disagreement: A comparison of Multi-criteria Methodologies", Journal of Multi-Criteria Decision Analysis, Vol. 4, 1-21.
  2. Olson, D. L., Fliedner, G., and Currie, K., 1995, "Comparison of the REMBRANDT system with Analytic Hierarchy Process", European Journal of Operational Research 82, 522-539.

WEB RESOURCES

Unified Modeling Language (UML)

Object Constraint Language (OCL)

Systems Architecting

Design Patterns


Developed in February 2001 by Mark Austin
Copyright © 2001-2002, Mark Austin, University of Maryland