{"title":"A Method for Evidence-Based Architecture Discovery","authors":"Johannes P. Ros, R. Sangwan","doi":"10.1109/WICSA.2011.54","DOIUrl":"https://doi.org/10.1109/WICSA.2011.54","url":null,"abstract":"We describe an evidence-based architecture discovery approach that organizes architectural decisions in a semi-formal reasoning framework that is self-reinforced by the evidence of accommodating future design decisions. In this approach, the taxonomy of these design decisions follows the SOLID design principles [5]. We apply these principles of software design to the topics that represent the architecture itself. Decisions, once made, serve as a starting point and context for future decisions. Architecture is, therefore, discovered within the confines of decisions already made, and it is managed by ensuring that future design decisions conform to the constraints set forth by the current decisions. When evidence emerges that conformance is not possible, early design decisions must be challenged and adjusted. In this sense, future design decisions serve as a test for, and provide evidence on the validity and robustness of earlier design decisions. By creating a taxonomy of architecture topics and managing constant tension and systematic interaction between early and future design decisions, we have found that this evidence-based feedback mechanism leads to intermediate forms of an architecture that are more stable, more easily reviewed, and evolve more systematically and gracefully over time.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123129393","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":"Towards Automation of Performance Architectural Tactics Application","authors":"R. Champagne, S. Gagné","doi":"10.1109/WICSA.2011.28","DOIUrl":"https://doi.org/10.1109/WICSA.2011.28","url":null,"abstract":"This paper describes the implementation of performance architectural tactics in ArchE, an expert system designed to help architects elaborate software architectures by automating certain tasks. Our goal was to explore what is involved in converting informally described tactics to a form that can be used by a tool to automate their relevant suggestion and application on software architectures. Adapting the tactics to the analysis tool and elaborating the rules that dictate their suggestion and application are the main challenges. Four performance tactics were successfully implemented in ArchE. Their use is illustrated through an example.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114166025","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":"Mature Architecting - A Survey about the Reasoning Process of Professional Architects","authors":"Uwe van Heesch, P. Avgeriou","doi":"10.1109/WICSA.2011.42","DOIUrl":"https://doi.org/10.1109/WICSA.2011.42","url":null,"abstract":"Architecting is to a large extent a decision-making process. While many approaches and tools exist to support architects during the various activities of architecting, little guidance exists to support the reasoning part of decision-making. This is partly due to our limited understanding of how professional architects make decisions. We report on findings of a survey that we have conducted with 53 industrial software architects to find out how they reason in real projects. The results of the survey are interpreted with respect to the industrial context and the architecture literature. We derive reasoning best practices that can support especially inexperienced architects with optimizing their decision-making process.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127927817","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":"Making Abstraction Concrete","authors":"B. Selić","doi":"10.1109/WICSA.2011.10","DOIUrl":"https://doi.org/10.1109/WICSA.2011.10","url":null,"abstract":"Abstraction is the very essence of architectural specification and modeling. Consequently, as we develop a proper theoretical underpinning for model-based engineering methods, it is crucial for us to understand more precisely what is involved in moving from a concrete specification of some system to a more abstract one (or vice versa). Well-known abstraction patterns, such as layering, encapsulation, hierarchical (de)composition, and the like are quite common and have been used since the earliest days of software design. However, they are typically specified informally using ambiguous inconclusive language, which can lead to confusion and misunderstandings that are difficult to detect. For example, hierarchical decomposition and layering, which are semantically distinct patterns, are often confused with each other due to their syntactical similarity. In this talk, we identify a starter set of common and reversible abstraction patterns â€\" that is, patterns that relate a concrete representation with a corresponding abstract one â€\" giving precise formal descriptions of the mappings involved in each. This serves not only to clarify what actually happens in the process of abstraction but, perhaps even more importantly, it can serve as a basis for automating some of the mechanical aspects involved in moving between models at different levels of abstraction. This, in turn, enables computer-based traceability between such models. Moreover, such a precise specification of these transformations can mitigate one of the major hazards of abstraction whereby highly relevant information is erroneously dropped from consideration.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"257 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115795389","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":"SOFAS: A Lightweight Architecture for Software Analysis as a Service","authors":"Giacomo Ghezzi, H. Gall","doi":"10.1109/WICSA.2011.21","DOIUrl":"https://doi.org/10.1109/WICSA.2011.21","url":null,"abstract":"Access to data stored in software repositories by systems such as version control, bug and issue tracking, or mailing lists is essential for assessing the quality of a software system. A myriad of analyses exploiting that data have been proposed throughout the years: source code analysis, code duplication analysis, co-change analysis, bug prediction, or detection of bug fixing patterns. However, easy and straight forward synergies between these analyses rarely exist. To tackle this problem we have developed SOFAS, a distributed and collaborative software analysis platform to enable a seamless interoperation of such analyses. In particular, software analyses are offered as Restful web services that can be accessed and composed over the Internet. SOFAS services are accessible through a software analysis catalog where any project stakeholder can, depending on the needs or interests, pick specific analyses, combine them, let them run remotely and then fetch the final results. That way, software developers, testers, architects, or quality assurance experts are given access to quality analysis services. They are shielded from many peculiarities of tool installations and configurations, but SOFAS offers them sophisticated and easy-to-use analyses. This paper describes in detail our SOFAS architecture, its considerations and implementation aspects, and the current set of implemented and offered Restful analysis services.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130153316","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":"From Requirements to Architecture for Software Product Lines","authors":"Keivilany Coelho, T. Batista","doi":"10.1109/WICSA.2011.60","DOIUrl":"https://doi.org/10.1109/WICSA.2011.60","url":null,"abstract":"To ensure a consistent correlation between the requirements model and the architecture representation of Software Product Lines (SPL), this paper proposes an integration between goal models (described in PL-AOV-Graph) and architectural specification (described in PL-AspectualACME). We define the mapping process between these models and transformation rules between their elements. We also present a case study (e-commerce system), to evaluate the mapping process.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133234016","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":"Automatic Tracing of Decisions to Architecture and Implementation","authors":"Georg Buchgeher, R. Weinreich","doi":"10.1109/WICSA.2011.16","DOIUrl":"https://doi.org/10.1109/WICSA.2011.16","url":null,"abstract":"Traceability requires capturing the relations between software artifacts like requirements, architecture and implementation explicitly. Manual discovery and recovery of tracing information by studying documents, architecture documentation and implementation is time-intensive, costly, and may miss important information not found in the analyzed artifacts. Approaches for explicitly capturing traces exist, but either require manual capturing or lack comprehensive tracing to both architecture and implementation. In this paper we present an approach for (semi)automatically capturing traceability relationships from requirements and design decisions to architecture and implementation. Traces are captured in a non-intrusive way during architecture design and implementation. The captured traces are integrated with a semi-formally defined architecture description model and serve as the basis for different kinds of architecture-related activities.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114517320","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":"Patterns Transform Architectures","authors":"M. Hafiz, Paul Adamczyk, Ralph E. Johnson","doi":"10.1109/WICSA.2011.39","DOIUrl":"https://doi.org/10.1109/WICSA.2011.39","url":null,"abstract":"Software patterns have been used to guide developers and to disseminate expert knowledge. But patterns can also be thought of as program transformations. Security patterns are architectural. Therefore, program transformations derived from those patterns transform architecture. This paper describes how we used a catalog of security patterns to produce a catalog of security-oriented program transformations. These transformations can be used to make architectural changes that make systems more secure. This paper is a first example of applying patterns to actively transform architectures.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116381969","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}
Javier Gonzalez-Sanchez, Maria Elena Chavez Echeagaray, R. Atkinson, W. Burleson
{"title":"ABE: An Agent-Based Software Architecture for a Multimodal Emotion Recognition Framework","authors":"Javier Gonzalez-Sanchez, Maria Elena Chavez Echeagaray, R. Atkinson, W. Burleson","doi":"10.1109/WICSA.2011.32","DOIUrl":"https://doi.org/10.1109/WICSA.2011.32","url":null,"abstract":"The computer's ability to recognize human emotional states given physiological signals is gaining in popularity to create empathetic systems such as learning environments, health care systems and videogames. Despite that, there are few frameworks, libraries, architectures, or software tools, which allow systems developers to easily integrate emotion recognition into their software projects. The work reported here offers a first step to fill this gap in the lack of frameworks and models, addressing: (a) the modeling of an agent-driven component-based architecture for multimodal emotion recognition, called ABE, and (b) the use of ABE to implement a multimodal emotion recognition framework to support third-party systems becoming empathetic systems.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128165474","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}
Simon Allier, Salah Sadou, H. Sahraoui, Régis Fleurquin
{"title":"From Object-Oriented Applications to Component-Oriented Applications via Component-Oriented Architecture","authors":"Simon Allier, Salah Sadou, H. Sahraoui, Régis Fleurquin","doi":"10.1109/WICSA.2011.35","DOIUrl":"https://doi.org/10.1109/WICSA.2011.35","url":null,"abstract":"Object-oriented applications of significant size are often complex and therefore, costly to maintain. Indeed, they rely on the concept of class which has low granularity with many implicit dependencies not always explicit. The component paradigm provides a projection space well-structured and of highest level for a better understanding through abstract architectural views. But it is possible to go further. It may also be the ultimate target of a complete process of re engineering. The end-to-end automation of this process is a subject on which literature has made very little attention. In this paper, we propose such a method to automatically transform an object-oriented application in an operational component-oriented application. We illustrate this method on a real Java application which is transformed in an operational OSGi application.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131683246","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}