Xcd - Modular, Realizable Software Architectures

Connector-Centric Design (Xcd) is centred around a new formal architectural description language, focusing mainly on complex connectors. Inspired by Wright and BIP, Xcd aims to cleanly separate in a modular manner the high-level functional, interaction, and control system behaviours. This can aid in both increasing the understandability of architectural specifications and the reusability of components and connectors themselves. Through the independent specification of control behaviours, Xcd allows designers to experiment more easily with different design decisions early on, without having to modify the functional behaviour specifications (components) or the interaction ones(connectors).

[1]  David Garlan,et al.  Analyzing architectural styles with alloy , 2006, ROSATEA '06.

[2]  Paul Clements,et al.  Documenting Component and Connector Views with UML 2.0 , 2004 .

[3]  Rajeev Alur,et al.  Realizability and verification of MSC graphs , 2005, Theor. Comput. Sci..

[4]  The SAE Architecture Analysis & Design Language ( AADL ) Standard , .

[5]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[6]  Chris Hankin,et al.  Coordinatio Languages and Models , 2002, Lecture Notes in Computer Science.

[7]  Felicita Di Giandomenico,et al.  Dependability Analysis and Verification for Connected Systems , 2010, ISoLA.

[8]  Gary T. Leavens,et al.  Beyond Assertions: Advanced Specification and Verification with JML and ESC/Java2 , 2005, FMCO.

[9]  Kostas Stathis,et al.  Producing Enactable Protocols in Artificial Agent Societies , 2011, PRIMA.

[10]  Andrew P. Black ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings , 2005, ECOOP.

[11]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[12]  Niklaus Wirth,et al.  Algorithms + Data Structures = Programs , 1976 .

[13]  E. W. Ng Symbolic and Algebraic Computation , 1979, Lecture Notes in Computer Science.

[14]  Alexander A. Stepanov,et al.  Generic Programming , 1988, ISSAC.

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

[16]  Jane Yung-jen Hsu,et al.  Agents in Principle, Agents in Practice - 14th International Conference, PRIMA 2011, Wollongong, Australia, November 16-18, 2011. Proceedings , 2011, PRIMA.

[17]  Kung-Kiu Lau,et al.  Exogenous connectors for software components , 2005, CBSE'05.

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

[19]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

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

[21]  Sebastián Uchitel,et al.  Towards a Periodic Table of Connectors , 1999, COORDINATION.

[22]  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.

[23]  Valérie Issarny,et al.  Formal Methods for Eternal Networked Software Systems , 2011, Lecture Notes in Computer Science.

[24]  Christos Kloukinas Better abstractions for reusable components & architectures , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[25]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[26]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[27]  Frantisek Plasil,et al.  Software Connectors and their Role in Component Deployment , 2001, DAIS.

[28]  Matthew B. Dwyer,et al.  Extending JML for Modular Specification and Verification of Multi-threaded Programs , 2005, ECOOP.

[29]  Joseph Sifakis,et al.  The Algebra of Connectors - Structuring Interaction in BIP , 2008, IEEE Trans. Computers.

[30]  Frank D. Valencia,et al.  Formal Methods for Components and Objects , 2002, Lecture Notes in Computer Science.

[31]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[32]  Samik Basu,et al.  Deciding choreography realizability , 2012, POPL '12.

[33]  Rajeev Alur,et al.  Inference of message sequence charts , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[34]  Alexander A. Stepanov,et al.  Fundamentals of Generic Programming , 1998, Generic Programming.

[35]  Yérom-David Bromberg,et al.  Middleware-Layer Connector Synthesis: Beyond State of the Art in Middleware Interoperability , 2011, SFM.

[36]  Laurent Balmelli,et al.  The Systems Modeling Language for Products and Systems Development , 2007, J. Object Technol..

[37]  Christos Kloukinas,et al.  XCD – Simple, Modular, Formal Software Architectures , 2012 .

[38]  Wouter Joosen,et al.  Using AADL to Model a Protocol Stack , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[39]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[40]  Frantisek Plasil,et al.  Bounding component behavior via protocols , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[41]  MeyerBertrand,et al.  Design by Contract , 1997 .

[42]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.