@PHDTHESIS{TheoryOfInterfaces, AUTHOR = {Dafydd Rees}, TITLE = {An Algebraic Theory of Software Interfaces}, SCHOOL = {University of Wales Swansea} YEAR = {2000}, NOTE = {See {\tt http://www.dafydd.net/thesis/}.}, ADDRESS = {Swansea, United Kingdom} } @BOOK{ObjectOrientedAnalysisAndDesign, AUTHOR = {Grady Booch}, ADDRESS = {Redwood City, Calif.}, PUBLISHER = {Benjamin/Cummings}, TITLE = {Object-Oriented Design with Applications}, YEAR = {1990} } @BOOK{ObjectOrientedModelingAndDesign, AUTHOR = {James Rumbaugh and Michael Blaha and William Premerlani and Frederick Eddy and William Lorensen}, ADDRESS = {Englewood Cliffs, New Jersey}, PUBLISHER = {Prentice-Hall}, TITLE = {Object-Oriented Modeling and Design}, YEAR = {1991} } @BOOK{SystemDevelopment, AUTHOR = {M. Jackson}, TITLE = {System Development}, PUBLISHER = {Prentice Hall International}, ADDRESS = {Englewood Cliffs, New Jersey}, YEAR = {1983} } @BOOK{CalendricalCalculations, AUTHOR = {Nachum Dershowitz and Edward M. Reingold}, TITLE = {Calendrical Calculations}, PUBLISHER = {Cambridge University Press}, YEAR = {1997}, NOTE = {See also: {\tt http://emr.cs.uiuc.edu/home/reingold/calendar-book/index.html}} } @INPROCEEDINGS{SoftwareArchitecturesInIndustrialApplications, AUTHOR = {Dilip Soni and Robert L. Nord and Christine Hofmeister}, BOOKTITLE = {Proceedings of the 17th International Conference on Software Engineering}, MONTH = apr, PAGES = {196 -- 207}, PUBLISHER = {ACM Press}, TITLE = {Software Architectures in Industrial Applications}, YEAR = {1995}, ISSN_ISBN = {0-89791-708-1} } @INPROCEEDINGS{InheritanceIsNotSubTyping, AUTHOR = {William Cook and Walter Hill and Peter Canning}, BOOKTITLE = {Proceedings of the Symposium on Principles of Programming Languages}, MONTH = {January}, YEAR = {1990}, ADDRESS = {San Fransisco}, TITLE = {Inheritance is not {S}ubtyping}, PUBLISHER = {ACM SIGACT-SIGPLAN} } @BOOK{SoftwareArchitecture, AUTHOR = {Mary Shaw and David Garlan}, PUBLISHER = {Prentice-Hall}, TITLE = {Software Architecture, Perspectives on an Emerging Discipline}, YEAR = {1996}, ISSN_ISBN = {0-13-182957-2} } @INPROCEEDINGS{ProcedureCallsAreTheAssemblyLanguageOfSystemInterconnection, AUTHOR = {Mary Shaw}, BOOKTITLE = {Proceedings of the Workshop on Studies of Software Design}, MONTH = {May}, YEAR = {1993}, TITLE = {Procedure Calls are the Assembly Language of System Interconnection: Connectors deserve first-class status}, } @BOOK{SeamlessObjectOrientedSoftwareArchitecture, AUTHOR = {Kim Wald\'{e}n and Jean-Marc Nerson}, PUBLISHER = {Prentice-Hall}, TITLE = {Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems}, YEAR = {1994}, ISSN_ISBN = {0-13-031303-3} } @BOOK{DesigningObjectSystems, AUTHOR = {Steve Cook and John Daniels}, PUBLISHER = {Prentice-Hall}, TITLE = {Designing Object Systems: Object-Oriented Modelling with Syntropy}, YEAR = {1994}, ISSN_ISBN = {0-13-203860-9} } @ARTICLE{TheWorldIsntSoftware, AUTHOR = {Steve Cook}, JOURNAL = {Journal of {O}bject-{O}riented {P}rogramming}, MONTH = Feb, TITLE = {{The World Isn't Software}}, VOLUME = {6}, NUMBER = {9}, YEAR = {1994}, PAGES = {6} } @ARTICLE{AFormalDescriptionOfTheOMGsCoreObjectModel, AUTHOR = {Iain S.C. Houston and Mark B. Josephs}, JOURNAL = {Computer Standards and Interfaces}, NUMBER = {17}, YEAR = {1995}, PAGES = {553--558}, PUBLISHER = {Elsevier Science B.V.}, } @ARTICLE{VirtualWorlds, AUTHOR = {James Rumbaugh}, JOURNAL = {{Journal of Object-Oriented Programming}}, MONTH = Jan, YEAR = {1994}, TITLE = {{Virtual Worlds}: Modeling at different levels of abstraction}, PAGES = {16--45} } @ARTICLE{Disinherited, AUTHOR = {James Rumbaugh}, TITLE = {Disinherited! Examples of misuse of inheritance}, JOURNAL = {Journal of Object-Oriented Programming}, MONTH = {February}, YEAR = {1993}, PAGES = {22--24}, } @ARTICLE{ObjectCommunication, AUTHOR = {Steve Cook and John Daniels}, JOURNAL = {Journal of {O}bject-{O}riented-{P}rogramming}, MONTH = {Sept.}, YEAR = 1994, TITLE = {{Object Communication}}, PAGES = {14--23} } @ARTICLE{DomainsForFlexibilitySimplicityAndReuse, AUTHOR = {Steve Cook and John Daniels}, JOURNAL = {Journal of Object-Oriented Programming}, MONTH = {Feb.}, YEAR = {1995}, TITLE = {{Domains For Flexibility, Simplicity, and Reuse}}, PAGES = {13--19} } \comment{ @ARTICLE{FormalApproachToScenarioAnalysis, AUTHOR = {Pei Hsia and Jayarajan Samuel and Jerry Gao and David Kung and Yasufumi Toyoshima and Cris Chen}, TITLE = {{F}ormal {A}pproach to {S}cenario {A}nalysis}, JOURNAL = {{IEEE} {S}oftware}, MONTH = mar, YEAR = {1994}, PAGES = {33--41} }} @BOOK{ModelingTheWorldInStates, AUTHOR = {Stephen Mellor and Sally Shlaer}, PUBLISHER = {Prentice-Hall}, TITLE = {Object lifecycles: Modeling the world in states}, YEAR = {1992}, ISSN_ISBN = {0-13-629940-7} } @BOOK{ModelingTheWorldInData, AUTHOR = {Stephen Mellor and Sally Shlaer}, PUBLISHER = {Prentice-Hall}, TITLE = {Object-oriented Systems Analysis: Modeling the World in Data}, YEAR = {1988}, ISSN_ISBN = {0-13-629023-X} } @ARTICLE{RecursiveDesign, AUTHOR = {Stephen Mellor and Sally Shlaer}, PUBLISHER = {Miller Freeman}, TITLE = {Recursive Design}, YEAR = {1990}, VOLUME = {7}, NUMBER = {3}, JOURNAL = {Computer Language} } @ARTICLE{RecursiveDesignOfAnApplicationIndependentArchitecture, TITLE = {Recursive Design of an Application Independent Architecture}, AUTHOR = {Stephen Mellor and Sally Shlaer}, JOURNAL = {IEEE Software}, MONTH = {January}, YEAR = {1997}, PAGES = {61--72} } @ARTICLE{ShlaerMellorObjectOrientedAnalysisRules, AUTHOR = {Neil Lang}, TITLE = {{Shlaer-Mellor} Object-Oriented Analysis Rules}, JOURNAL = {Software Engineering Notes}, PUBLISHER = {{ACM} Press}, VOLUME = {18}, NUMBER = {1}, MONTH = {January}, YEAR = {1993} } @TECHREPORT{TowardsAnAlgebraicStructureOfInterfaceDefinitionLanguages, AUTHOR = {D. Ll. L. Rees and K. Stephenson and J.V.Tucker}, TITLE = {Towards an Algebraic Structure of Interface Definition Languages}, INSTITUTION = {University of Wales Swansea, Computer Science}, YEAR = {2000}, NUMBER = {CSR 1-2000} } @TECHREPORT{TheOOA96Report, AUTHOR = {Sally Shlaer and Neil Lang}, TITLE = {The {OOA96} Report}, INSTITUTION = {Project Technology Inc.}, YEAR = {1996}, NOTE = {Available on the web from {\tt http://www.projtech.com}.} } @INPROCEEDINGS{GedankenExperimentsOnSequentialMachines, AUTHOR = {E.F. Moore}, BOOKTITLE = {Automata Studies}, TITLE = {{Gedanken Experiments On Sequential Machines}}, PUBLISHER = {Princeton University Press}, YEAR = {1956}, ADDRESS = {Princeton, NJ.} } @BOOK{ObjectOrientedAnalysis, AUTHOR = {Peter Coad and Edward Yourdon}, PUBLISHER = {Yourdon Press}, TITLE = {Object-Oriented Analysis}, YEAR = {1990-1991}, ISSN_ISBN = {0-13-629981-4}, EDITION = {2nd} } @BOOK{UsingRose, AUTHOR = {Iseult White and Marc Goldberg}, PUBLISHER = {Benjaming/Cummings}, TITLE = {Using the Booch Method --- A Rational Approach}, YEAR = {1994} } @ARTICLE{ModuleAlgebra, AUTHOR = {J. A. Bergstra and J. Heering and P. Klint}, JOURNAL = {Journal of the Association of Computing Machinery}, MONTH = apr, NUMBER = {2}, TITLE = {Module Algebra}, VOLUME = {37}, YEAR = {1990} } @BOOK{ObjectOrientedSoftwareConstruction, AUTHOR = {Bertrand Meyer}, PUBLISHER = {Prentice-Hall}, TITLE = {Object-Oriented Software Construction}, YEAR = {1997}, EDITION = {{Second}} } @TECHREPORT{DesignByContract, AUTHOR = {Bertrand Meyer}, TITLE = {Design By Contract}, INSTITUTION = {ISE Inc.}, YEAR = {1987}, NUMBER = {TR-EI-12/CO} } @TECHREPORT{TimePatterns, AUTHOR = {Manfred Lange}, TITLE = {Time Patterns}, INSTITUTION = {Washington University}, YEAR = {1998}, NUMBER = {WUCS-98-25}, NOTE = {(Final submission to Pattern Languages of Programs 1998.)} } @TECHREPORT{TemporalPatterns, AUTHOR = {Andy Carlson and Sharon Estepp and Martin Fowler}, TITLE = {Temporal Patterns}, INSTITUTION = {Washington University}, YEAR = {1998}, NUMBER = {WUCS-98-25}, NOTE = {(Final submission to Pattern Languages of Programs 1998.)} } @TECHREPORT{APatternLanguageForSimpleEmbeddedSystems, AUTHOR = {Mark Bottomley}, TITLE = {A Pattern Language for Simple Embedded Systems}, YEAR = {1999}, NOTE = {(Submission to Pattern Languages of Programs 1999.)} } @TECHREPORT{ACollectionOfHistoryPatterns, AUTHOR = {Francis Anderson}, TITLE = {A Collection of History Patterns}, INSTITUTION = {Washington University}, YEAR = {1998}, NUMBER = {WUCS-98-25}, NOTE = {(Final submission to Pattern Languages of Programs 1998.)} } % Data hiding: @ARTICLE{OnTheCriteriaToBeUsedInDecomposingSystemsIntoModules, AUTHOR = {David Lorge Parnas}, TITLE = {On the Criteria to Be Used in Decomposing Systems into Modules}, JOURNAL = {Communications of the ACM}, YEAR = {1972}, VOLUME = {15}, NUMBER = {12}, MONTH = {December} } % Families of systems: @ARTICLE{DesigningSoftwareForEaseOfExtensionAndContraction, AUTHOR = {David Lorge Parnas}, TITLE = {Designing Software For Ease Of Extension And Contraction}, JOURNAL = {IEEE TOSE}, MONTH = {March}, YEAR = {1972} } @ARTICLE{TheModularStructureOfComplexSystems, AUTHOR = {D. Parnas and P. Clements and D. Weiss}, TITLE = {{The Modular Structure of Complex Systems}}, JOURNAL = {Proceedings of the Seventh International Conference on Software Engineering}, MONTH = {March}, YEAR = {1984}, PAGES = {408-417}, PRIVATENOTE = {also in IEEE Transactions on Software Engineering SE-11:259-266,1985} } @ARTICLE{DataAbstractionAndHierarchy, AUTHOR = {Barbra Liskov}, TITLE = {Data Abstraction and Hierarchy}, JOURNAL = {SIGPLAN Notices}, YEAR = {1988}, VOLUME = {23}, NUMBER = {5}, MONTH = {May} } @ARTICLE{ModelsForDesignGeneratingCodeForAssociations, AUTHOR = {James Rumbaugh}, TITLE = {Models for design: {G}enerating code for associations}, JOURNAL = {Journal of Object-oriented Programming}, YEAR = {1996}, MONTH = {February}, PAGES = {13 -- 17} } @BOOK{java_api, AUTHOR = {James Gosling and Frank Yellin and The Java Team}, TITLE = {The Java Application Programming Interface}, PUBLISHER = {Addison-Wesley}, YEAR = {1996}, VOLUME = {1 (Core Packages)} } @BOOK{TheJavaLanguageSpecification, AUTHOR = {James Gosling and Bill Joy and Guy Steele}, TITLE = {The Java Language Specification}, PUBLISHER = {Addison-Wesley}, YEAR = {1996} } @BOOK{DesignPatterns, AUTHOR = { Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides}, TITLE = { Design Patterns: Elements of Reusable Object-Oriented Software}, PUBLISHER = {Addison-Wesley}, YEAR = {1994} } @BOOK{ComponentSoftware, AUTHOR = {Clemens Szyperski}, TITLE = { Component {S}oftware: Beyond Object-Oriented Programming}, PUBLISHER = { Addison-Wesley}, YEAR = {1997} } @BOOK{ObjectOrientedDevelopment, AUTHOR = {Derek Coleman and Patrick Arnold and Stephanie Bodoff and Chris Dollin and Helena Gilchrist and Fiona Hayes and Paul Jeremaes}, TITLE = {Object-Oriented Development: The Fusion Method}, PUBLISHER = {Prentice-Hall}, EDITION = {{Prentice-Hall International} }, YEAR = {1994} } @BOOK{UMLDistilled, AUTHOR = {Martin Fowler and Kendall Scott}, TITLE = {UML Distilled: Applying the Standard Object Modeling Language}, PUBLISHER = {Addison-Wesley}, YEAR = {1997}, EDITION = {first} } @Book{ObjectOrientedMethodsAFoundation, AUTHOR = {James Martin and James J. Odell}, TITLE = {Object-Oriented Methods, A Foundation}, PUBLISHER = {Prentice-Hall}, YEAR = {1998}, EDITION = {{UML} Edition} } @BOOK{UMLReferenceManual, AUTHOR = {James Rumbaugh and Ivar Jacobson and Grady Booch}, TITLE = {The {U}nified {M}odelling {L}anguage {R}eference {M}anual}, PUBLISHER = {Addison-Wesley}, YEAR = {1999} } @BOOK{UMLUserGuide, AUTHOR = {Grady Booch and James Rumbaugh and Ivar Jacobson}, TITLE = {The {U}nified {M}odelling {L}anguage {U}ser {G}uide}, PUBLISHER = {Addison-Wesley}, YEAR = {1998} } @BOOK{ObjectOrientedSoftwareEngineering, AUTHOR = {Ivar Jacobson and Magnus Christerson and Patrik Jonsson and Gunnar \"{O}vergaard}, TITLE = {Object-Oriented Software Engineering: A Use Case Driven Approach}, PUBLISHER = {Addison-Wesley}, YEAR = {1992}, EDITION = {Revised 1997 printing} } @INBOOK{InterfaceSpecifier, PAGES = {146--147}, CROSSREF = {UMLUserGuide}, TITLE = {Interface Specifier} } @INBOOK{ObjectInterfaces, PAGES = {{10-1~--~10-12}}, CROSSREF = {ObjectPascalUsersGuide}, CHAPTER = {10}, TITLE = {{Object Interfaces}} } @MANUAL{ObjectPascalUsersGuide, TITLE = {{Object Pascal Users Guide}}, ORGANISATION = {Inprise Inc.}, NOTE = {(Part of the {Delphi 2} development documentation).} } @ARTICLE{EventsAndTheirSpecification, AUTHOR = {James Odell}, TITLE = {Events and Their Specification}, JOURNAL = {Journal of Object-oriented Programming}, YEAR = {1994}, MONTH = {July-August}, PAGES = {10 -- 15} } @ARTICLE{IntroducingObjectCharts, AUTHOR = {Derek Coleman and Fiona Hayes and Stephen Bear}, TITLE = {{Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design}}, JOURNAL = {IEEE Transactions on Software Engineering}, VOLUME = {18}, NUMBER = {1}, PAGES = {9--18}, YEAR = {1992}, MONTH = {{Jan}} } @ARTICLE{CoherentModelsForObjectOrientedAnalysis, AUTHOR = {F. Hayes and D. Coleman}, TITLE = {Coherent Models for Object-Oriented Analysis}, JOURNAL = {ACM SIGPLAN}, VOLUME = {26}, NUMBER = {11}, PAGES = {171--183}, YEAR = {1991} } @ARTICLE{AnIntegratedObjectOrientedAndFormalModelingEnvironment, AUTHOR = {R. B. France and J. M. Bruel and M. M. Larrondo-Petrie}, TITLE = {An Integrated Object-Oriented and Formal Modeling Environment}, JOURNAL = {Journal of Object-Oriented Programmming}, MONTH = {November-December}, YEAR = {1997}, } @ARTICLE{StatechartsAVisualFormalismForComplexSystems, AUTHOR = {D. Harel}, TITLE = {{Statecharts: A Visual Formalism for Complex Systems}}, JOURNAL = {{Science of Computer Programming}}, YEAR = {1987}, PAGES = {231--274}, VOLUME = {8} } @ARTICLE{ImplementingRemoteProcedureCalls, AUTHOR = {A. D. Birrell and B. J. Nelson}, TITLE = {Implementing {Remote} {Procedure} {Calls}}, JOURNAL = {ACM Transactions on Computer Systems}, VOLUME = {2}, MONTH = {February}, YEAR = {1984}, PAGES = {39-59} } @UNPUBLISHED{tablec, AUTHOR = {A. J. Wilder and J.V. Tucker}, TITLE = {System Documentation Using Tables: A Short Course}, NOTE = {Second Year Undergraduate Lecture Notes, University of Wales Swansea}, YEAR = {1996} } @UNPUBLISHED{tplnotes, AUTHOR = {J. V. Tucker}, TITLE = {Theory of Programming Languages}, NOTE = {Second Year Undergraduate Lecture Notes, University of Wales Swansea}, YEAR = {1998} } @BOOK{RequirementsEngineeringAndRapidDevelopment, AUTHOR = {Ian Graham}, TITLE = {Requirements Engineering and Rapid Development}, PUBLISHER = {Addison-Wesley}, YEAR = {1998} } @MANUAL{TheCommonObjectRequestBroker, AUTHOR = {{Object Management Group}}, ORGANIZATION = {{Object Management Group}}, TITLE = {The Common Object Request Broker: Architecture and Specification}, EDITION = {Revision 2.0}, DATE = {Update July 1996}, MONTH = {July}, YEAR = 1996, NOTE = {OMG Publication number 97-02-25, (See {\tt http://www.omg.org})} } @BOOK{InsideOLE, AUTHOR = {Kraig Brockshmidt}, TITLE = {Inside OLE}, EDITION = {Second}, PUBLISHER = {Microsoft Press}, YEAR = {1995}, } @BOOK{EssentialCOM, AUTHOR = {Don Box}, TITLE = {Essential {COM}}, PUBLISHER = {Addison-Wesley}, YEAR = {1998} } @MANUAL{ILU1.8ReferenceManual, AUTHOR = {B. Janssen and D. Severson and M. Spreitzer}, MONTH = {May}, ORGANIZATION = {Xerox Corporation}, TITLE = {ILU 1.8 Reference Manual}, YEAR = {1995} } @BOOK{Smalltalk-80TheLanguageAndItsImplementation, AUTHOR = {A. Goldberg and D. Robson}, TITLE = {Smalltalk-80: The Language and Its Implementation}, PUBLISHER = {Addison-Wesley}, YEAR = {1993}, ADDRESS = {Reading, {MA}}, } @BOOK{ObjectOrientedProgramming, AUTHOR = {Brad Cox}, TITLE = {{Object Oriented Programming}: An evolutionary approach}, YEAR = {1986}, PUBLISHER = {Addison-Wesley}, EDITION = {first} } @ARTICLE{The4+1ModelOfArchitecture, AUTHOR = {Phillippe B. Kruchten}, TITLE = {The 4+1 {M}odel of {A}rchitecture}, JOURNAL = {{IEEE} Software}, YEAR = {1995}, MONTH = {{N}ovember}, } @INBOOK{UniversalAlgebra, AUTHOR = {Karl Meinke and John Tucker}, CHAPTER = {Universal Algebra}, TITLE = {{Handbook of Logic in Computer Science}}, PAGES = {189--411}, VOLUME = {1}, YEAR = {1992} } @BOOK{ObjectOrientedLanguages, AUTHOR = {Michel Beaudonin-Lafon}, TITLE = {Object-Oriented Languages: Basic Principles and Programming Techniques}, YEAR = {1994}, PUBLISHER = {Chapman-Hall}, NOTE = {Translated by Jack Howlett} } @UNPUBLISHED{NewLampsForOld, AUTHOR = {Ian Graham}, TITLE = {New Lamps for Old! --- Is there a difference between objects and components?}, YEAR = {1999}, NOTE = {A report from a session at {O}bject {T}echnology '99, {O}xford, {E}ngland. {Published on the World-Wide-Web at {\tt http://ourworld.compuserve.com/homepages/grahami/OTpaper.htm}}}, HOWPUBLISHED = {Published on the World-Wide-Web at {\tt http://ourworld.compuserve.com/homepages/grahami/OTpaper.htm}} } @BOOK{TheEssentialDistributedObjectsSurvivalGuide, AUTHOR = {Robert Orfali and Dan Harkey and Jeri Edwards}, TITLE = {The Essential Distributed Objects Survival Guide}, PUBLISHER = {John Wiley and Sons}, YEAR = {1996} } @BOOK{StructuredDesign, AUTHOR = {E. Yourdon and L. Constantine}, TITLE = {Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design}, YEAR = {1979}, PUBLISHER = {Yordon Press} } @BOOK{StructuredAnalysisAndSystemsSpecification, AUTHOR = {Tom DeMarco}, TITLE = {Structured Analysis and Systems Specification}, YEAR = {1979}, PUBLISHER = {Prentice-Hall}, } @BOOK{ModernStructuredAnalysis, AUTHOR = {Edward Yourdon}, TITLE = {Modern Structured Analysis}, YEAR = {1989}, PUBLISHER = {Yourdon Press}, } @BOOK{StructuredDevelopmentForRealTimeSystems, AUTHOR = {Paul Ward and Stephen J. Mellor}, TITLE = {Structured Development For Real-Time Systems: Introduction and Tools}, YEAR = {1985}, PUBLISHER = {Yourdon Press} } @INPROCEEDINGS{Translation, AUTHOR = {Steven Fraser and Robert C. Martin and Stephen J. Mellor and Michael Lee and Grady Booch and Stephen Garone and Martin Fowler and Douglas Schmidt and Marie Lenzi}, TITLE = {Translation: Myth or Reality?}, BOOKTITLE = {ACM SIGPLAN OOPSLA 1996}, PUBLISHER = {ACM Press}, PAGES = {441--443}, YEAR = {1996} } @INPROCEEDINGS{TheEntityRelationshipModel, AUTHOR = {Peter Pin-Shan Chen}, TITLE = {The {E}ntity {R}elationship {M}odel - Toward a Unified View of Data}, BOOKTITLE = {ACM Transactions on Database Systems}, MONTH = {March}, YEAR = {1976}, VOLUME = {1}, NUMBER = {1}, PAGES = {9--36} } @BOOK{ObjectOrientedDevelopmentAtWork, AUTHOR = {Ruth Malan and Reed Letsinger and Derek Coleman}, TITLE = {Object-Oriented Development At Work: Fusion In The Real World}, PUBLISHER = {Prentice-Hall}, YEAR = {1996} } @BOOK{ObjectOrientedTechnologyForRealTimeSystems, AUTHOR = {Maher Awad and Juha Kuusela and Jurgen Zeigler}, TITLE = {Object-Oriented Technology for Real-Time Systems}, PUBLISHER = {Prentice-Hall}, YEAR = {1996} } @BOOK{PatternOrientedSoftwareArchitecture, AUTHOR = {Frank Buschmann and Regine Meunier and Hans Rohnert and Peter Sommerlad and Michael Stal}, TITLE = {Pattern Oriented Software Architecture: A System of Patterns}, PUBLISHER = {John Wiley and Sons}, YEAR = {1996} } @INBOOK{ArchitecturalPatternsBroker, PAGES = {99-122}, TITLE = {Distributed Systems: Broker}, CROSSREF = {PatternOrientedSoftwareArchitecture} } @ARTICLE{AssociationsConsideredABadThing, AUTHOR = {Ian Graham and Julia Bischof and Brian Henderson-Sellers}, TITLE = {Associations considered a bad thing}, YEAR = {1997}, MONTH = {February}, JOURNAL = {Journal of Object Oriented Progamming}, VOLUME = {9}, NUMBER = {9}, PAGES = {41--48} } @BOOK{MigratingToObjectTechnology, AUTHOR = {Ian Graham}, TITLE = {{Migrating to Object Technology}}, PUBLISHER = {Addison-Wesley}, YEAR = {1995} } @BOOK{BookTwoOfObjectOrientedKnowledge, AUTHOR = {B. Henderson-Sellers and J. Edwards}, TITLE = {{Book Two of Object-Oriented Knowledge: The Working Object}}, PUBLISHER = {Prentice-Hall}, YEAR = {1994} } @ARTICLE{TheInterfaceSegregationPrinciple, AUTHOR = {Robert C. Martin}, TITLE = {{The Interface Segregation Principle: One of the many Principles of OOP}}, YEAR = {1996}, MONTH = {August}, JOURNAL = {{The C++ Report}}, NOTE = {Available at: {\tt http://www.objectmentor.com/base.asp?id=40}} } @ARTICLE{TheDependencyInversionPrinciple, AUTHOR = {Robert C. Martin}, TITLE = {{The Dependency Inversion Principle}}, YEAR = {1996}, MONTH = {May}, JOURNAL = {{The C++ Report}}, NOTE = {Available at: {\tt http://www.objectmentor.com/base.asp?id=40}} } @ARTICLE{TheLiskovSubstitutionPrinciple, AUTHOR = {Robert C. Martin}, TITLE = {{The Liskov Substitution Principle}}, YEAR = {1996}, JOURNAL = {{The C++ Report}}, NOTE = {Available at: {\tt http://www.objectmentor.com/base.asp?id=40}} } @INBOOK{DesignReuseAndFrameworksInTheSmalltalk-80ProgrammingSystem, TITLE = {Design Reuse And Frameworks in The Smalltalk-80 Programming System}, CROSSREF = {SoftwareReusabilityI}, AUTHOR = {P. L. Deutsch}, } @BOOK{SoftwareReusabilityI, AUTHOR = {T. J. Biggerstaff and A. J. Perlis}, TITLE = {{Software Reusability I: Concepts and Models}}, YEAR = {1989}, PUBLISHER = {ACM Press}, VOLUME = {1} } @TECHREPORT{LinguaFranca, AUTHOR = {Brian Foote and Don Roberts}, TITLE = {{Lingua Franca}}, INSTITUTION = {Department of Computer Science, Washington University}, NUMBER = {WUCS-98-25}, MONTH = {September}, YEAR = {1998}, NOTE = {(Workshopped at The Fifth Conference on Pattern Languages of Programs PloP '98. Available on the world-wide web at {\tt http://www.laputan.org/lingua/lingua.html}.)}, } @ARTICLE{Simula, AUTHOR = {O -J Dahl and K Nygaard}, TITLE = {{Simula: An {ALGOL}-based Simulation Language}}, JOURNAL = {Communications of the ACM}, VOLUME = {9}, NUMBER = {9}, PAGES = {671-678}, YEAR = {1966} } @MISC{YonatSharon, YEAR = {1999}, AUTHOR = {Yonat Sharon}, NOTE = {Private Communication} } @BOOK{SoftwareArchitectureInPractice, AUTHOR = {Len Bass and Paul Clements and Rick Kazman}, TITLE = {Software Architecture in Practice}, YEAR = {1998}, PUBLISHER = {Addison-Wesley} } @ARTICLE{FoundationsForTheStudyOfSoftwareArchitecture, AUTHOR = {Dewayne E. Perry and Alexander L. Wolf}, TITLE = {Foundations for the {S}tudy of {S}oftware {A}rchitecture}, JOURNAL = {Software Engineering Notes}, NUMBER = {4}, VOLUME = {17}, YEAR = {1992}, MONTH = {October}, PAGES = {40--52} } @BOOK{PatternLanguagesOfProgramDesign3, EDITOR = {Robert Martin and Dirk Riehle and Frank Buschman}, TITLE = {Pattern Languages of Programming Design}, PUBLISHER = {Addison-Wesley}, YEAR = {1998}, VOLUME = {3} } @INBOOK{Serializer, TITLE = {Serializer}, CROSSREF = {PatternLanguagesOfProgramDesign3}, AUTHOR = {Dirk Riehle and Wolf Siberski and Dirk B\"{a}umer and Daniel Megert and Heinz Z\"{u}llighoven}, } @INBOOK{PatternsForLoggingDiagnosticMessages, TITLE = {{Patterns for Logging Diagnostic Messages}}, AUTHOR = {Neil B. Harrison}, CROSSREF = {PatternLanguagesOfProgramDesign3}, PAGES = {277--292}, CHAPTER = {16} } @TECHREPORT{ValuesInObjectSystems, AUTHOR = {Dirk Riehle and Wolf Siberski and Carola Lilienthal and Daniel Megert and Karl-Heinz Sylla and Heinz Z\"{u}llighoven}, INSTITUTION= {UBI Lab, UBS AG}, NUMBER = {98.10.1}, YEAR = {1998}, TITLE = {{Values in Object Systems}}, NOTE = {(Available from {\tt http://www.riehle.org}.)}, ADDRESS = {Zurich, Switzerland} } @ARTICLE{ImmutableCollection, AUTHOR = {Nathan Pryce}, TITLE = {{Immutable Collection}}, YEAR = {1999}, MONTH = {May 26}, JOURNAL = {Portland Pattern Repository}, NOTE = {(Published at {\tt http://c2.com/cgi-bin/wiki?ImmutableCollection}.)}, EDITOR = {Ward Cunningham}, PUBLISHER = {Cunningham and Cunningham, Inc.} } @ARTICLE{UseClosuresNotEnumerations, AUTHOR = {Wiki}, TITLE = {Use {Closures} not {Enumerations}}, YEAR = {1998}, MONTH = {November}, JOURNAL = {Portland Pattern Repository}, NOTE = {(Published at {\tt http://c2.com/cgi-bin/wiki?UseClosuresNotEnumerations})}, EDITOR = {Ward Cunningham}, PUBLISHER = {Cunningham and Cunningham, Inc.} } @BOOK{EffectiveCPlusPlus, AUTHOR = {Scott Meyers}, TITLE = {Effective C++: 50 Specific Ways to Improve Your Programs and Designs}, PUBLISHER = {Addison-Wesley}, YEAR = {1997}, Edition = {second} } @BOOK{ObjectsComponentsAndFrameworksWithUML, AUTHOR = {Desmond F. D'Souza and Alan Cameron Wills}, TITLE = {Objects,Components and Frameworks With UML: The Catalysis Approach}, PUBLISHER = {Addison-Wesley}, YEAR = {1998} } @ARTICLE{ObjectIdentifiersKeysAndSurrogates, AUTHOR = {Roel Wieringa and Wiebren {de} Jonge}, TITLE = {{Object Identifiers, Keys and Surrogates: Object Identifiers Revisited}}, JOURNAL = {Theory and Practice of Object-Oriented Systems}, VOLUME = {1}, NUMBER = {2}, PAGES = {101--114}, YEAR = {1995} } @ARTICLE{TheObjectOrientedBrewery, TITLE = {{The Object-Oriented Brewery: A Comparison of Two Object-Oriented Development Methods}}, AUTHOR = {Robert C. Sharble and Samuel S.Cohen}, JOURNAL = {Software Engineering Notes}, VOLUME = {18}, NUMBER = {2}, PAGES = {60--73}, YEAR = {1993}, MONTH = {April} } @PHDTHESIS{ScenarioModelling, AUTHOR = {D. Beringer}, TITLE = {Scenario Modelling: Modelling Global Behaviour with Scenarios in Object-Oriented Analysis}, SCHOOL = {Swiss Federal Institute of Technology}, YEAR = {1997}, NOTE = {See {\tt http://lglwww.epfl.ch/Team/DBR/Thesis.html}.}, ADDRESS = {Lausanne, Switzerland} } @PHDTHESIS{RefactoringObjectOrientedFrameworks, AUTHOR = {Willam F. Opdyke}, TITLE = {Refactoring Object-Oriented Frameworks}, SCHOOL = {Computer Science, University of Illinois at Urbana-Champaign}, YEAR = {1992}, ADDRESS = {Urbana, Illinois, USA} } @PHDTHESIS{AnAlgebraicApproachToSyntaxSemanticsAndCompilation, AUTHOR = {Karen Stephenson}, TITLE = {An Algebraic Approach to Syntax, Semantics and Compilation}, SCHOOL = {Computer Science, University of Wales Swansea}, YEAR = {1996}, ADDRESS = {Swansea, UK} } @BOOK{ProgramCorrectnessOverAbstractDataTypesWithErrorStateSemantics, AUTHOR = {J. V. Tucker and J. I. Zucker}, TITLE = {Program Correctness over Abstract Data Types with Error-State Semantics}, YEAR = {1988}, PUBLISHER= {North-Holland}, SERIES= {CWI Monographs} } @BOOK{Refactoring, TITLE = {Refactoring: Improving the Design of Existing Code}, AUTHOR = {Martin Fowler and Kent Beck and John Brant and William Opdyke and Don Roberts}, YEAR = {1999}, MONTH = {August}, PUBLISHER = {Addison Wesley}, } @UNPUBLISHED{OMGOCLStandard, TITLE = {{OMG} {OCL} Standard}, NOTE = {Available at {\tt http://www-4.ibm.com/software/ad/standards/ocl.html/}} } @BOOK{TheObjectConstraintLanguage, TITLE = {{The Object Constraint Language: Precise Modeling With UML}}, AUTHOR = {Jos B. Warmer and Anneke G. Kleppe}, YEAR = {1999}, MONTH = {March}, PUBLISHER= {Addison-Wesley} } @BOOK{DesigningObjectOrientedSoftware, TITLE = {{Designing Object-Oriented Software}}, AUTHOR = {R. Wirfs-Brock and B.Wilkerson and L. Wiener}, YEAR = {1990}, PUBLISHER= {Prentice-Hall}, } @UNPUBLISHED{DesignPatternsForDistributedObjects, TITLE = {{Design Patterns for Distributed Objects}}, AUTHOR = {John Farrell}, YEAR = {1999}, MONTH = {July}, HOWPUBLISHED = {Presentation at the Austrailian Java Users' Group}, NOTE = {Available on the WWW at {\tt www.ajug.org.au/ajug-qld/papers/john\_farrell.19990712.html}} } @ARTICLE{TenCommandmentsOfFormalMethods, AUTHOR = {Jonathan Bowen and Mike Hinchey}, TITLE = {Ten Commandments of Formal Methods}, JOURNAL = {IEEE Computer}, VOLUME = {28}, NUMBER = {4}, MONTH = {April}, YEAR = {1995} } @ARTICLE{AReviewOfObjectOrientedApproachesInFormalMethods, AUTHOR = {Antonio Ruiz-Delgado and David Pitt and Colin Smythe}, TITLE = {A Review of Object-Oriented Approaches in Formal Methods}, JOURNAL = {The Computer Journal}, VOLUME = {38}, NUMBER = {10}, YEAR = {1995} } @ARTICLE{FormalMethodsForObjectOrientedSoftwareEngineering, AUTHOR = {Mahesh Dodani}, TITLE = {Formal Methods For Object Oriented Software Engineering}, JOURNAL = {Annals of Software Engineering}, VOLUME = {2}, PAGES = {121--160}, PUBLISHER= {J.C.Baltzer AG, Science Publishers}, YEAR = {1996} } @INPROCEEDINGS{CoreMetaModellingSemanticsOfUML, AUTHOR = {Andy Evans and Stuart Kent}, TITLE = {Core Meta-Modelling Semantics of UML: The {pUML} Approach}, BOOKTITLE= {International Conference on the Unified Modeling Language}, EDITOR = {B. Rumpe and R.B. France}, YEAR = {1999}, PUBLISHER= {Springer}, SERIES = {LNCS} } @INPROCEEDINGS{BlackAndWhiteDiamonds, AUTHOR = {Brian Henderson-Sellers and Franck Barbier}, TITLE = {Black and White Diamonds}, BOOKTITLE= {UML'99 --- The Unified Modeling Language. Beyond the Standard}, EDITOR = {Robert France and Bernhard Rumpe}, PUBLISHER= {Springer}, SERIES = {LNCS}, VOLUME = {1723}, YEAR = {1999} } @INPROCEEDINGS{FoundationsOfTheUnifiedModelingLanguage, AUTHOR = {Tony Clark and Andy Evans}, TITLE = {Foundations of the Unified Modeling Language}, BOOKTITLE= {Second Northern Formal Methods Workshop, Ilkley, Electronic Workshops in Computing}, PUBLISHER= {Springer-Verlag}, YEAR = {1998} } @INPROCEEDINGS{TransformingUMLModelsToFormalSpecifications, AUTHOR = {J. M. Bruel and R. B. France}, TITLE = {Transforming {UML} Models to Formal Specifications}, BOOKTITLE= {{UML}'98 --- Beyond the notation}, PUBLISHER= {LNCS, Springer}, YEAR = {1998} } @BOOK{FormalMethodsAndObjectTechnology, AUTHOR = {S.J.Goldsack and S.J. Kent}, TITLE = {Formal Methods and Object Technology}, YEAR = {1996}, PUBLISHER= {Springer} } @BOOK{HistoryOfProgrammingLanguages2, EDITOR = {Thomas J. Bergin and Richard G. Gibson}, TITLE = {History of Programming Languages}, PUBLISHER= {ACM Press, Addison-Wesley}, VOLUME = {II}, YEAR = {1996} } @INBOOK{CLUSession, AUTHOR = {Barbra Liskov}, PAGES = {471--510}, CHAPTER = {10}, CROSSREF= {HistoryOfProgrammingLanguages2} }