{"title":"An Economics-Driven Approach for Valuing Scalability in Distributed Architectures","authors":"R. Bahsoon, W. Emmerich","doi":"10.1109/WICSA.2008.45","DOIUrl":"https://doi.org/10.1109/WICSA.2008.45","url":null,"abstract":"Drawing on a case study that adequately represents a medium-size component-based distributed architecture, the contribution of this paper shows how existing performance repositories could be mined to value the ranges in which a given software architecture can scale to support likely changes in load. The mining is based on a financial analogy, where we utilize the concept of twin asset in financial engineering to justify mining relevant repositories. The mining process in then complemented with real options analysis for predicting the values resulted from the ranges in which an architecture can scale under uncertainty, where uncertainty is attributed to the unpredicted change in load. As the exact method for analyzing scalability is subject to debate, we focus the analysis on throughput as a way for measuring scalability. Using options analysis, we report on how ranges in which an architecture can scale, can inform the selection of distributed components technology and subsequently the selection of application server products.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122231568","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching Software Architecture Design","authors":"T. Männistö, J. Savolainen, Varvana Myllärniemi","doi":"10.1109/WICSA.2008.34","DOIUrl":"https://doi.org/10.1109/WICSA.2008.34","url":null,"abstract":"Teaching software architecture design in an academic course so that it would equip the students with industrially useful capabilities is challenging. The real software architecture design problems are less clear than what the students are used to learning; the existing mass of assets of an industrial environment is hard to bring into a classroom; and so forth. We have designed a special course into an academic software engineering curriculum, taking into account the industrial needs in teaching the problem of understanding and solving demanding software architecture design problems. The course form is similar to an industrial architecture study assigned to a team of architects. In this paper, we discuss the industrial motivation for the course, the development of the course to its current form, and the lessons learned from running the course.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131086516","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Effective Realization of Software Architectural Styles with Aspects","authors":"S. Malek","doi":"10.1109/WICSA.2008.43","DOIUrl":"https://doi.org/10.1109/WICSA.2008.43","url":null,"abstract":"Architecture-based software development is the implementation of a software system in terms of its architectural constructs (e.g., components, connectors, ports). It has been shown as an effective approach to realizing and managing the architecture of large scale software systems. Several techniques and tools have been developed that are intended to aid with the architecture-based development of software systems. While these approaches provide adequate implementation support for some aspects of software architectures, they often lack sufficient support for implementing and enforcing the system's software architectural style. In this paper, we argue that the lack of sufficient support for architectural styles is a by-product of its crosscutting structure. In turn, making it impossible to realize styles using the object-oriented programming methodology. We propose a new approach to implementing architectural styles that is based on the aspect-oriented programming paradigm.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"109 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134554309","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method","authors":"O. Zimmermann, Uwe Zdun, T. Gschwind, F. Leymann","doi":"10.1109/WICSA.2008.19","DOIUrl":"https://doi.org/10.1109/WICSA.2008.19","url":null,"abstract":"When constructing software systems, software architects must identify and evaluate many competing design options and document the rationale behind any selections made. Two supporting concepts are pattern languages and architectural decision models. Unfortunately, both concepts only provide partial support: Extensive upfront education is needed for practitioners to be in command of' the full pattern literature relevant in their field; retrospective architectural decision modeling is viewed as a painful extra responsibility without immediate gains. In this paper, we combine pattern languages and reusable architectural decision models into a design method that is both comprehensive and comprehensible. Our design method identifies the required decisions in requirements models systematically, gives domain-specific pattern selection advice, and provides traceability from platform-independent patterns to platform-specific decisions. We validate our approach by applying it to enterprise applications as an exemplary application genre and a SOA case study from the finance industry.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121393460","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
I. Gorton, A. Wynne, Justin Almquist, J. Chatterton
{"title":"The MeDICi Integration Framework: A Platform for High Performance Data Streaming Applications","authors":"I. Gorton, A. Wynne, Justin Almquist, J. Chatterton","doi":"10.1109/WICSA.2008.21","DOIUrl":"https://doi.org/10.1109/WICSA.2008.21","url":null,"abstract":"Building high performance analytical applications for data streams generated from sensors is a challenging software engineering problem. Such applications typically comprise a complex pipeline of processing components that capture, transform and analyze the incoming data stream. In addition, applications must provide high throughput, be scalable and easily modifiable so that new analytical components can be added with minimum effort. In this paper we describe the MeDICi integration framework (MIF), which is a middleware platform we have created to address these challenges. The MIF extends an open source messaging platform with a component-based API for integrating components into analytical pipelines. We describe the features and capabilities of the MIF, and show how it has been used to build a production analytical application for detecting cyber security attacks. The application was composed from multiple independently developed components using several different programming languages. The resulting application was able to process network sensor traffic in real time and provide insightful feedback to network analysts as soon as potential attacks were recognized.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115308154","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Analysis of Architecture Pattern Usage in Legacy System Architecture Documentation","authors":"Neil B. Harrison, P. Avgeriou","doi":"10.1109/WICSA.2008.18","DOIUrl":"https://doi.org/10.1109/WICSA.2008.18","url":null,"abstract":"Architecture patterns are an important tool in architectural design. However, while many architecture patterns have been identified, there is little in-depth understanding of their actual use in software architectures. For instance, there is no overview of how many patterns are used per system or which patterns are the most common or most important for particular domains. In addition, little is known of how architecture patterns ay interact with each other. We studied architecture documentation of 47 systems to learn about their architecture patterns. Most systems had two or more architecture patterns, and certain patterns were prominent in different application domains. We identified several patterns that are commonly used together, and are beginning to learn how such combinations may impact system quality attributes. This information can be used to help designers select architecture patterns, can help people learn both architectures and patterns, and can be useful in architectural reviews.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114762091","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Can Styles Improve Architectural Pattern Reuse ?","authors":"S. Cîmpan, Vincent Couturier","doi":"10.1109/WICSA.2008.38","DOIUrl":"https://doi.org/10.1109/WICSA.2008.38","url":null,"abstract":"Software patterns are generic solutions to recurring problems. They are represented as a triplet (problem, context, solution). Several kinds of software patterns were identified, examples of which are analysis, architecture, design or implementation patterns. The current practice is to represent patterns as documents that communicate best practices. Their reuse is limited by several factors among which the lack of formalization. In the context of architecture centered software development, architectural styles are means to represent families of software systems. Several architecture description languages offer support for representing architectural styles. We believe that the use of architectural styles in the representation of architectural pattern solutions can improve the pattern reuse level. The paper details how this improvement can be achieved.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125923854","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Defining Service-Oriented Software Architecture Models for a MDA-based Development Process at the PIM level","authors":"M. Sanz, C. Acuña, C. E. Cuesta, E. Marcos","doi":"10.1109/WICSA.2008.15","DOIUrl":"https://doi.org/10.1109/WICSA.2008.15","url":null,"abstract":"Although the development of service-based software has evolved greatly in the last years, there is still a lack of accurate development methodologies applied to service orientation. To solve this, we focus on the model- driven development approach, and more specifically in MDA, the proposal by the OMG, as it is one of the main trends in nowadays software engineering. Accordingly, we propose to define a service-oriented software architecture (SOSA) model within a model-driven methodological framework called MIDAS, for the adaptable and flexible development of modern systems. In the present work we study the concepts and elements that need to be defined at a platform independent and neutral abstraction level. This paper reflects our proposal of PIM-level architecture model for service-oriented software architectures within MIDAS.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126172562","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Evaluating the Software Architecture Competence of Organizations","authors":"L. Bass, P. Clements, R. Kazman, M. Klein","doi":"10.1109/WICSA.2008.12","DOIUrl":"https://doi.org/10.1109/WICSA.2008.12","url":null,"abstract":"An organization is architecturally competent if it has the ability to acquire, use and sustain the skills and knowledge necessary to carry out architecture-related practices that lead to systems that serve the organization's business goals. This paper presents some principles of architecture competence, based on four models that aid in explaining, measuring, and improving the architecture competence of an individual or an organization with respect to these principles, The principles are based on a set of fundamental beliefs about software architecture.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125255838","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Xitong Li, Yushun Fan, Jian Wang, Li Wang, Feng Jiang
{"title":"A Pattern-Based Approach to Development of Service Mediators for Protocol Mediation","authors":"Xitong Li, Yushun Fan, Jian Wang, Li Wang, Feng Jiang","doi":"10.1109/WICSA.2008.13","DOIUrl":"https://doi.org/10.1109/WICSA.2008.13","url":null,"abstract":"Service composition is one of the key objectives for adopting service oriented architecture. Today, Web services, however, are not always perfectly compatible and composition mismatches are common problems. Service mediation, generally classified into signature and protocol ones, thus becomes one key working area in SOA. While the former has received considerable attention, protocol mediation is still open and current approaches provide only partial solutions. In this paper, a pattern-based approach is proposed for developers to semi-automatically generate mediators and glue partially compatible services together. Based on the investigation on workflow patterns and message exchanging sequences in service interactions, several basic mediator patterns are developed and can be used to modularly construct advanced mediators that can resolve all possible protocol mismatches, especially such mismatches about complicated control logics. Moreover, the architecture for the service mediation system is designed and implemented to prove the feasibility of our approach.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133979099","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}