Software Architectural Styles for Network-based Applications

A software architecture determines how system components are identified and allocated, how the components interact to form a system, the amount and granularity of communication needed for interaction, and the interface protocols used for communication. For a network-based application, system performance is dominated by network communication. Therefore, selection of the appropriate architectural style(s) for use in designing the software architecture can make the difference between success and failure in the deployment of a network-based application.

[1]  Larry Wall,et al.  Programming Perl , 1991 .

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[3]  Tim Berners-Lee,et al.  WWW: Past, Present, and Future , 1996, Computer.

[4]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[5]  Richard N. Taylor,et al.  Architecture-based specification-time software evolution , 1999 .

[6]  David D. Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM '90.

[7]  Norman L. Kerth,et al.  Using Patterns To Improve Our Architectural Vision , 1997, IEEE Softw..

[8]  David Garlan,et al.  Low-cost, adaptable tool integration policies for integrated environments , 1990 .

[9]  Lori A. Clarke,et al.  A framework for event-based software integration , 1996, TSEM.

[10]  Maarten Boasson,et al.  The Artistry of Software Architecture , 1995, IEEE Softw..

[11]  Philip A. Bernstein,et al.  Middleware: a model for distributed system services , 1996, CACM.

[12]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[13]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[14]  Michael Jackson,et al.  Problems, methods and specialization , 1994, IEEE Software.

[15]  David Lorge Parnas,et al.  Information Distribution Aspects of Design Methodology , 1971, IFIP Congress.

[16]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[17]  Frank Buschmann,et al.  A system of patterns , 1995 .

[18]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[19]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[20]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[21]  James M. Purtilo,et al.  The POLYLITH software bus , 1994, TOPL.

[22]  Richard N. Taylor,et al.  Using off-the-shelf middleware to implement connectors in distributed software architectures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[23]  Larry Wall,et al.  Programming Perl (2nd ed.) , 1996 .

[24]  John R. Cameron,et al.  An overview of JSD , 1986, IEEE Transactions on Software Engineering.

[25]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[26]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[27]  Will Tracz,et al.  The ADAGE Avionics Reference Architecture 1 , 1995 .

[28]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[29]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[30]  Will Tracz,et al.  DSSA (Domain-Specific Software Architecture): pedagogical example , 1995, SOEN.

[31]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[32]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[33]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[34]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[35]  Daniel Le Métayer Describing Software Architecture Styles Using Graph Grammars , 1998, IEEE Trans. Software Eng..

[36]  David Garlan,et al.  Introduction to the Special Issue on Software Architecture , 1995, IEEE Trans. Software Eng..

[37]  Marc Shapiro,et al.  Structure and Encapsulation in Distributed Systems: The Proxy Principle , 1986, ICDCS.

[38]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[39]  William M. Tepfenhart,et al.  A Unified Object Topology , 1997, IEEE Softw..

[40]  Adobe Press,et al.  PostScript Language Reference Manual , 1985 .

[41]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[42]  D. Corkill Blackboard Systems , 1991 .

[43]  David Garlan,et al.  Low-cost, adaptable tool integration policies for integrated environments , 1990, SDE 4.

[44]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[45]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[46]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[47]  Philippe Lalanda,et al.  A Domain-Specific Software Architecture for Adaptive Intelligent Systems , 1995, IEEE Trans. Software Eng..

[48]  Alok Sinha Client-server computing , 1992, CACM.

[49]  Marek Fridrich,et al.  Helix: The Architecture of the XMS Distributed File system , 1985, IEEE Software.

[50]  Jim Waldo,et al.  A Note on Distributed Computing , 1996, Mobile Object Systems.

[51]  David S. Rosenblum,et al.  Exploiting ADLs to specify architectural styles induced by middleware infrastructures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[52]  E KrasnerGlenn,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[53]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[54]  Jon Postel,et al.  Telnet Protocol Specification , 1980, RFC.

[55]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[56]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[57]  Jon Postel,et al.  File Transfer Protocol , 1985, RFC.

[58]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[59]  Steven P. Reiss,et al.  Connecting tools using message passing in the Field environment , 1990, IEEE Software.

[60]  David Garlan,et al.  Architectural Styles, Design Patterns, And Objects , 1997, IEEE Softw..

[61]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[62]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[63]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[64]  Gregory R. Andrews,et al.  Paradigms for process interaction in distributed programs , 1991, CSUR.

[65]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[66]  Mary Shaw Toward Higher-Level Abstractions for Software Systems , 1990, Data Knowl. Eng..

[67]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[68]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[69]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[70]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[71]  Samuel T. Chanson,et al.  Distributed, object-based programming systems , 1991, CSUR.

[72]  H. Zimmermann,et al.  OSI Reference Model - The ISO Model of Architecture for Open Systems Interconnection , 1980, IEEE Transactions on Communications.

[73]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[74]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[75]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975 .

[76]  James Coplien,et al.  Idioms And Patterns As Architectural Literature , 1997, IEEE Softw..

[77]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[78]  Mark Young,et al.  Open environment for image processing and software development , 1992, Electronic Imaging.

[79]  Jonas Mockus Introduction to Software , 2000 .

[80]  GarlanDavid,et al.  Formalizing style to understand descriptions of software architecture , 1995 .

[81]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1976, IEEE Trans. Software Eng..

[82]  Dennis Heimbigner,et al.  Multilanguage interoperability in distributed systems. Experience report , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[83]  David Lorge Parnas,et al.  The Modular Structure of Complex Systems , 1984, IEEE Transactions on Software Engineering.

[84]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[85]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[86]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[87]  David Notkin,et al.  Reconciling environment integration and software evolution , 1992, TSEM.

[88]  Walter Zimmer,et al.  Relationships between design patterns , 1995 .

[89]  Roy T. Fielding,et al.  Uniform Resource Identifiers (URI): Generic Syntax , 1998, RFC.

[90]  Amjad Umar,et al.  Object-Oriented Client/Server Internet Environments , 1997 .

[91]  Mary Shaw,et al.  Comparing Architectural Design Styles , 1995, IEEE Softw..

[92]  David S. Rosenblum,et al.  A design framework for Internet-scale event observation and notification , 1997, ESEC '97/FSE-5.