ABSTRACT
Since the invention of the connectors that serve as one of the building blocks of software architecture, various researchers have described the characteristics of connectors that they have discovered in given software systems. These characteristics have frequently been revealed by employing a bottom-up approach to different disciplines of software engineering. As a consequence, numerous attributes of connectors have been introduced at a rather technical level, and the vocabulary regarding specific aspects of connectors is highly heterogeneous. This eclectic list of attributes is not an appropriate abstraction level for an architect when developing connectors for application software. Instead, it would be more helpful to have a framework that begins from a conceptual perspective and guides the software architect in identifying the attributes required for a specific connector. To this end, a hierarchical schema for specifying software connectors is proposed in this paper. In contrast to existing schemas in which either the attributes considered are few in number and ungrouped or the attribute specification and grouping was not the main focus of the research, this paper presents a homogenous specification schema at different levels of abstraction and is based on logical perspectives rather than technical features. The schema can support architects in various situations--such as connector selection and documentation--and can aid in implementing or generating concrete software connectors. The application of the schema will be demonstrated by specifying a software connector between Twitter and an application.
- Amirat, A., & Oussalah, M. (2009). First-class connectors to support systematic construction of hierarchical software architecture. Journal of Object Technology, 8(7), 107--130.Google ScholarCross Ref
- Bálek, D., & Plasil, F. (2000). Software connectors: A hierarchical model. Charles University, Prague, Tech. Report, 2Google Scholar
- Batista, T., Chavez, C., Garcia, A., Rashid, A., Sant'Anna, C., & Kulesza, U. (2006). Reflections on architectural connection: seven issues on aspects and ADLs. In Proceedings of the 2006 international workshop on Early aspects at ICSE (pp. 3--10). ACM. Google ScholarDigital Library
- Batista, T., Chavez, C., Garcia, A., Kulesza, U., Sant-Anna, C., & Lucena, C. (2006). Aspectual connectors: supporting the seamless integration of aspects and ADLs. In Proceedings of the ACM SIGSoft XX Brazilian Symposium on Software Engineering (SBES'06), Florianopolis, Brazil.Google Scholar
- Bhattacharya, S., & Perry, D. E. (2007). Predicting Emergent Properties of Component Based Systems. In Commercial-off-the-Shelf (COTS)-Based Software Systems, 2007. ICCBSS'07. Sixth International IEEE Conference on (pp. 41--50). IEEE. Google ScholarDigital Library
- Breslauer, D. (1996). On competitive on-line paging with lookahead (pp. 593--603). Springer Berlin Heidelberg. Google ScholarDigital Library
- Bures, T., & Plasil, F. (2004). Communication style driven connector configurations. In Software Engineering Research and Applications (pp. 102--116). Springer Berlin Heidelberg.Google ScholarCross Ref
- Byna, S., Chen, Y., & Sun, X. H. (2008). A taxonomy of data prefetching mechanisms. In Parallel Architectures, Algorithms, and Networks, 2008. I-SPAN 2008. International Symposium on (pp. 19--24). IEEE. Google ScholarDigital Library
- Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., & Little, R. (2002). Documenting software architectures: views and beyond. Pearson Education. Google ScholarDigital Library
- Fairbanks, G. (2010). Just enough Software Architecture -- A Risk-Driven Approach. Marshall & BrainerdGoogle Scholar
- Garlan, D. (1998). Higher Order Connectors. Workshop on Compositional Software Architecture, Monterey, CAGoogle Scholar
- Garlan, D., and Shaw, M. (1994). An Introduction to Software Architecture. Computer Science Department, Carnegie Mellon University. Paper 724.Google Scholar
- Hirsch, D., Uchitel, S., & Yankelevich, D. (1999). Towards a periodic table of connectors. In COORDINATION (p. 418). Google ScholarDigital Library
- Hofmeister, C.; North, R., Soni, D. (1999). Applied software architecture. Addison-Wesley Professional. Google ScholarDigital Library
- Hohpe, G., & Woolf, B. A. (2004). Enterprise integration patterns: Designing, building, and deploying messaging solutions. Addison-Wesley Professional. Google ScholarDigital Library
- Honey, C., & Herring, S. C. (2009, January). Beyond microblogging: Conversation and collaboration via Twitter. In System Sciences, 2009. HICSS'09. 42nd Hawaii International Conference on (pp. 1--10). IEEE. Google ScholarDigital Library
- Issarny, V., Bennaceur, A., & Bromberg, Y. D. (2011). Middleware-layer connector synthesis: Beyond state of the art in middleware interoperability. In Formal Methods for Eternal Networked Software Systems (pp. 217--255). Springer Berlin Heidelberg.Google ScholarCross Ref
- Kazman, R., Clements, P., Bass, L., & Abowd, G. (1997). Classifying architectural elements as a foundation for mechanism matching. In Computer Software and Applications Conference, 1997. COMPSAC'97. Proceedings. The Twenty-First Annual International (pp. 14--17). IEEE. Google ScholarDigital Library
- Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J. M., & Irwin, J. (1997). Aspect-oriented programming (pp. 220--242). Springer Berlin Heidelberg.Google Scholar
- Kircher, M. (2001). Lazy Acquisition. In EuroPLoP (pp. 151--164).Google Scholar
- Kircher, M., & Jain, P. (2002). Eager Acquisition. In EuroPLoP (pp. 511--520).Google Scholar
- Lau, K. K., Elizondo, P. V., & Wang, Z. (2005). Exogenous connectors for software components. In Component-Based Software Engineering (pp. 90--106). Springer Berlin Heidelberg. Google ScholarDigital Library
- Lau, K. K., Ling, L., Ukis, V., & Elizondo, P. V. (2007). Composite connectors for composing software components. In Software Composition (pp. 266--280). Springer Berlin Heidelberg. Google ScholarDigital Library
- Lopes, A., Wermelinger, M., & Fiadeiro, J. L. (2001). A compositional approach to connector construction. In Recent Trends in Algebraic Development Techniques (pp. 201--220). Springer Berlin Heidelberg. Google ScholarDigital Library
- Lopes, A., Wermelinger, M., & Fiadeiro, J. L. (2003). Higher-order architectural connectors. ACM Transactions on Software Engineering and Methodology (TOSEM), 12(1), 64--104. Google ScholarDigital Library
- Marangozov, V., Bellissard, L., Vion-Dury, J. Y., & Riveill, M. (1997). Connectors: a Key Feature For Building Distributed Component-based Architectures. interfaces, 1(r2), r2.Google Scholar
- May, N. (2005, March). A survey of software architecture viewpoint models. In Proceedings of the Sixth Australasian Workshop on Software and System Architectures (pp. 13--24).Google Scholar
- Medvidovic, N., & Taylor, R. N. (2000). A classification and comparison framework for software architecture description languages. Software Engineering, IEEE Transactions on, 26(1), 70--93. Google ScholarDigital Library
- Mehta, N. R., Medvidovic, N., & Phadke, S. (2000). Towards a taxonomy of software connectors. In Proceedings of the 22nd international conference on Software engineering (pp. 178--187). ACM. Google ScholarDigital Library
- Mehta, N. R., & Medvidovic, N. (2003). Composing architectural styles from architectural primitives. In ACM SIGSOFT Software Engineering Notes (Vol. 28, No. 5, pp. 347--350). ACM. Google ScholarDigital Library
- Mellor, S. J., Scott, K., Uhl, A., & Weise, D. (2002). Model-driven architecture. In Advances in Object-Oriented Information Systems (pp. 290--297). Springer Berlin Heidelberg. Google ScholarDigital Library
- Ren, J; Taylor, R., Dourish, P., & Redmiles, D. (2005). Towards an architectural treatment of software security: a connector-centric approach. In Proceedings of the 2005 workshop on Software engineering for secure systems--building trustworthy applications (SESS '05). ACM, New York, NY, USA, 1--7. DOI=10.1145/1082983.1083203 http://doi.acm.org/10.1145/1082983.1083203 Google ScholarDigital Library
- Shaw, M. (1994). Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status. Software Engineering Institute. Paper 234.Google Scholar
- Shaw, M., & Clements, P. (1997). A field guide to boxology: Preliminary classification of architectural styles for software systems. In Computer Software and Applications Conference, 1997. COMPSAC'97. Proceedings, The Twenty-First Annual International (pp. 6--13). IEEE. Google ScholarDigital Library
- Spitznagel, B., & Garlan, D. (2001). A compositional approach for constructing connectors. In Software Architecture, 2001. Proceedings. Working IEEE/IFIP Conference on (pp. 148--157). IEEE. Google ScholarDigital Library
- Spitznagel, B. (2005). Compositional transformation of software connectors. PhD thesis, Carnegie Mellon University School of Computer Science Technical Report Carnegie Mellon University-CS-04--128 Google ScholarDigital Library
- Tanenbaum, A. S., & Van Steen, M. (2006). Distributed systems, 2nd ed. Prentice Hall Google ScholarDigital Library
- Zhao, D., & Rosson, M. B. (2009, May). How and why people Twitter: the role that micro-blogging plays in informal communication at work. In Proceedings of the ACM 2009 international conference on Supporting group work (pp. 243--252). ACM. Google ScholarDigital Library
- Zimmermann, H. (1980). OSI reference model--The ISO model of architecture for open systems interconnection. Communications, IEEE Transactions on, 28(4), 425--432Google ScholarCross Ref
Index Terms
- A specification schema for software connectors
Recommendations
A complementary approach to requirements engineering—software architecture orientation
This paper presents the idea of Software Architecture Oriented Requirements Engineering, a complementary approach to existing requirements engineering processes and methods. The main objective is to introduce concepts and principles of software ...
Detection of anomalies in software architecture with connectors
Special issue on quality system and software architecturesThis paper describes an approach to detecting anomalies in a software architectural style that is structured with components and connectors between the components. Each component is designed with tasks (concurrent or active objects), connectors between ...
A software architecture modeling tool
TELE-INFO'09: Proceedings of the 8th Wseas international conference on Telecommunications and informaticsA key aspect of the design of any software system is its architecture. An architecture description provides a formal model of the architecture in terms of components and connectors and how they are composed together. COSA (Component-Object based ...
Comments