A pluralistic knowledge-based approach to software specification

  • Celso Niskier
  • Tom Maibaum
  • Daniel Schwabe
Requirements Engineering
Part of the Lecture Notes in Computer Science book series (LNCS, volume 387)


We propose a pluralistic attitude to software specification, where multiple viewpoints/methods are integrated to enhance our understanding of the required system. In particular, we investigate how this process can be supported by heuristics acquired from well-known software specification methods such as Data Flow Diagrams, Petri Nets and Entity Relationship Models. We suggest the classification of heuristics by method and activity, and show how they can be formalised in Prolog. More general heuristics indicating complementarity consistency between methods are also formalised. A practical by-product has been the generation of "expert-assistance" to the integration of methods: PRISMA is a pluralistic knowledge-based system supporting the coherent construction of a software specification from multiple viewpoints. The approach is ilustrated via examples. Theoretical and practical issues related to specification processes and environments supporting a pluralistic paradigm are also discussed.

Key Words

Software Specification Methods Multiple Views Heuristics Knowledge-Based Systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Balzer, R. "A 15 Year Perspective on Automatic Programming", IEEE Transaction on Software Engineering, Vol. SE-11, 1985Google Scholar
  2. Black,W.J., Sutcliffe, A.G., Loucopoulos, P. & Layzell, P.J. "Translation Between Pragmatic Software Development Methods", ESEC '87, LNCS 289, 1987Google Scholar
  3. Chen, P. "The Entity Relationship Model — Toward a Unified View of Data", ACM — TOD, Vol.1, no.1, 1976Google Scholar
  4. DeMarco, T. Structured Analysis and System Specification, Prentice-Hall, 1979Google Scholar
  5. Finkelstein, A.C.W., Fuks, H., Niskier, C. & Sadler, M. "Constructing a Dialogic Framework for Software Development", Proc. of the 4th. IEEE International Software Process Workshop, Devon, Englang, 1988Google Scholar
  6. Finkelstein, A.C.W. & Potts, C. Evaluation of Existing Requirements Extraction Strategies, Alvey FOREST Deliverable Report 1, GEC Research Laboratories, Marconi Research Centre, Great Baddow, Chelmsford, England, 1985Google Scholar
  7. Ghezzi, C. & Mandrioli, D. "On Eclectism in Specifications: A Case Study Centered Around Petri Nets", Rapporto n. 87-008, Dipartimento di Elettronica, Politecnico de Milano, 1987Google Scholar
  8. Lehman, M.M., Stenning, V. & Turski, W.M. Another Look at Software Design Methodology, Imperial College of Science and Technology, Research Report DoC 83/13, 1983Google Scholar
  9. Lenat, D.B. "The Nature of Heuristics", Artificial Intelligence 21(1), 1982Google Scholar
  10. Maibaum, T.S.E. "The Role of Abstraction in Program Development", Proceedings of the IFIP World Computer Congress, 1986Google Scholar
  11. Mastro, V.A. "Three Dimensional System Development", Software Engineering Notes 10(5), 1985Google Scholar
  12. Niskier, C., Maibaum, T.S.E. & Schwabe, D. "A Look Through PRISMA: Towards Pluralistic Knowledge-Based Environments for Software Specification Acquisition", to appear in the 5th International Workshop on Software Specification and Design, 1989Google Scholar
  13. Niskier, C., Fuks, H., Maibaum, T. & Sadler, M. "Changing Views in Software Specification Using Dialogue", in preparation, 198?Google Scholar
  14. Pearl, J. Heuristics, Addison-Wesley, 1984Google Scholar
  15. Peterson, J.L. Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981Google Scholar
  16. Reisig, W. Petri Nets, Springer-Verlag, 1985Google Scholar
  17. Yourdon, E. "What Ever Happened to Structured Analysis ?", Datamation, June 1986Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Celso Niskier
    • 1
  • Tom Maibaum
    • 1
  • Daniel Schwabe
    • 2
  1. 1.Dept. of ComputingImperial College of Science and TechnologyLondon
  2. 2.Departamento de InformáticaPontifícia Universidade Católica do Rio de JaneiroRio de Janeiro

Personalised recommendations