The Single Model Principle

We contrast modelling languages that are founded on use of a single model with those founded on use of multiple models. We propose that to best support seamless and reversible development of reliable software, languages that follow the single model principle are superior. We define this principle precisely, and discuss when it is insufficient, particularly for early requirements engineering.

[1]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[2]  Richard F. Paige,et al.  Checking the Consistency of Collaboration and Class Diagrams using PVS , 2002 .

[3]  Bruce Powel Douglass Real-time UML - developing efficient objects for embedded systems , 1997, Addison-Wesley object technology series.

[4]  Richard F. Paige,et al.  A Proposal for a Lightweight Rigorous UML-Based Development Method for Reliable Systems , 2001, pUML.

[5]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[6]  Gary T. Leavens,et al.  JML: notations and tools supporting detailed design in Java , 2000 .

[7]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[8]  Kim Walden,et al.  Seamless object-oriented software architecture , 1995 .

[9]  David Harel,et al.  From Play-In Scenarios to Code: An Achievable Dream , 2000, Computer.

[10]  Jan Madey,et al.  The Z notation: A reference manual , 1990 .

[11]  Bashar Nuseibeh,et al.  Expressing the relationships between multiple views in requirements specification , 1993, ICSE '93.

[12]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[13]  Ian M. Graham Object-oriented methods , 1991 .

[14]  Ian Graham,et al.  Requirements engineering and rapid development , 1998 .

[15]  Michael Jackson,et al.  Conjunction as composition , 1993, TSEM.

[16]  Bruce Powell Douglass,et al.  Real-time UML (2nd ed.): developing efficient objects for embedded systems , 1997 .

[17]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[18]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[19]  Richard F. Paige,et al.  Metamodelling and Conformance Checking with PVS , 2001, FASE.

[20]  Eric C. R. Hehner A Practical Theory of Programming , 1993, Texts and Monographs in Computer Science.

[21]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[22]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[23]  Richard F. Paige,et al.  ERC – An object-oriented refinement calculus for Eiffel , 2003, Formal Aspects of Computing.

[24]  Richard F. Paige,et al.  From Z to BON/Eiffel , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).