Mapping Software Architecture Styles and Collaboration Patterns for Engineering Adaptive Mixed Systems

Software architecture styles determine to large degree a system’s ability to adapt during runtime. Similarly collaboration patterns describe the flexibility with which humans can join or leave a team and what constraints apply. With the rise of large-scale mixed systems, the boundary between humans and software becomes increasingly blurry. Thus, in this paper, we propose to map architectural styles to collaboration patterns. We raise awareness on how adaptation strategies in software systems might facilitate the management of Internet-scale collaborations and vice versa. Ultimately, understanding the mutual properties and interdependencies is fundamental for a holistic approach to run-time adaptation of mixed systems.

[1]  David Alan Grier,et al.  A social history of Bitnet and Listserv, 1985-1991 , 2000, IEEE Annals of the History of Computing.

[2]  Paolo Costa,et al.  LighTS: a lightweight, customizable tuple space supporting context-aware applications , 2005, SAC '05.

[3]  Schahram Dustdar,et al.  Interaction pattern detection in process oriented information systems , 2007, Data Knowl. Eng..

[4]  Frank Buschmann,et al.  Pattern-Oriented Software Architecture, a Pattern Language for Distributed Computing , 2007 .

[5]  Daren C. Brabham Crowdsourcing as a Model for Problem Solving , 2008 .

[6]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

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

[8]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[9]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[10]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[11]  Michael M. Gorlick,et al.  From representations to computations: the evolution of web architectures , 2007, ESEC-FSE '07.

[12]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[13]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[14]  Aniket Kittur,et al.  Harnessing the wisdom of crowds in wikipedia: quality through coordination , 2008, CSCW.

[15]  Paolo Traverso,et al.  Service-Oriented Computing: State of the Art and Research Challenges , 2007, Computer.

[16]  André Schiper,et al.  Duplex: a distributed collaborative editing environment in large scale , 1994, CSCW '94.

[17]  Kevin Crowston,et al.  Self-organization of teams for free/libre open source software development , 2007, Inf. Softw. Technol..

[18]  Felix C. Freiling,et al.  Supporting Mobility in Content-Based Publish/Subscribe Middleware , 2003, Middleware.

[19]  Mary Beth Rosson,et al.  How and why people Twitter: the role that micro-blogging plays in informal communication at work , 2009, GROUP.

[20]  Zheng Shao,et al.  Hive - a petabyte scale data warehouse using Hadoop , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[21]  W. Ouchi,et al.  Organizational Control: Two Functions. , 1975 .

[22]  Diomidis Spinellis,et al.  A survey of peer-to-peer content distribution technologies , 2004, CSUR.

[23]  Dennis Shasha,et al.  Filtering algorithms and implementation for very fast publish/subscribe systems , 2001, SIGMOD '01.

[24]  Peyman Oreizy,et al.  Architectural styles for runtime software adaptation , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[25]  Lada A. Adamic,et al.  Knowledge sharing and yahoo answers: everyone knows something , 2008, WWW.

[26]  Andy Oram,et al.  Peer-to-Peer: Harnessing the Power of Disruptive Technologies , 2001 .

[27]  Hosung Park,et al.  What is Twitter, a social network or a news media? , 2010, WWW '10.

[28]  Rayadurgam Srikant,et al.  Modeling and performance analysis of BitTorrent-like peer-to-peer networks , 2004, SIGCOMM 2004.

[29]  Bonnie A. Nardi,et al.  Why we blog , 2004, CACM.

[30]  Tim O'Reilly,et al.  What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software , 2007 .

[31]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

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

[33]  Franco Zambonelli,et al.  MARS: A Programmable Coordination Architecture for Mobile Agents , 2000, IEEE Internet Comput..

[34]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[35]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.