{"title":"A taxonomy of software architecture-based reliability efforts","authors":"Atef Mohamed, Mohammad Zulkernine","doi":"10.1145/1833335.1833342","DOIUrl":"https://doi.org/10.1145/1833335.1833342","url":null,"abstract":"Due to the complexity of the current software systems and the diversity of their architectural styles and component models, architecture-based reliability is becoming a more important quality requirement than ever before. Architecture-based reliability efforts depend on the behavior of individual components and their interactions with respect to their influences on the system reliability. Depending on different viewpoints and assumptions, a component takes various definitions and forms. As a result, numerous reliability works that involve varieties of the underlying strategies, objectives, and parameters are proposed for software architectures. Classifying these efforts is important for creating and selecting potential solutions that handle the reliability of software applications. In this paper, we provide a taxonomy of architecture-based reliability efforts. We classify these efforts according to the reliability goals, component abstraction, and level of granularity. We explain the existing techniques considering their assumptions with respect to these classification parameters and provide detailed description about the specific issues and considerations of each class.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132886315","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 an architectural viewpoint for systems of software intensive systems","authors":"J. Brøndum, Liming Zhu","doi":"10.1145/1833335.1833344","DOIUrl":"https://doi.org/10.1145/1833335.1833344","url":null,"abstract":"An important aspect of architectural knowledge is the capture of software relationships [25]. But current definitions [25, 21, 23] do not adequately capture external system relationships [5], and offer no guidance on implicit relationships [29]. This leaves architects either unaware of critical relationships or, to 'roll their own' based on aggregations of code-level call structures, resulting in critical architectural gaps and communication problems within Systems of Software intensive Systems (S3) environments [2]. These environments may also restrict the sharing of architectural knowledge due to either legal, or contractual constraints, or overwhelm due to the size and number of involved systems adding to the challenges of identifying and describing the relationships.\u0000 This paper presents a novel S3 Architectural Viewpoint consisting of; 1) an extensible taxonomy of relationships (building on existing relationship concepts), 2) a systematic, repeatable technique to detect both immediate and composite relationships, and 3) proposes the Annotated Design Structure Matrix to link S3 views, with existing dependency analysis technique. The goal is an architectural approach for sharing and analysis of architectural knowledge relating to relationships, in an S3 environment. The research is ongoing and validation will be performed through case studies from industry collaborations.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129263754","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}
Marwan Abi-Antoun, Talia Selitsky, Thomas D. Latoza
{"title":"Developer refinement of runtime architectural structure","authors":"Marwan Abi-Antoun, Talia Selitsky, Thomas D. Latoza","doi":"10.1145/1833335.1833347","DOIUrl":"https://doi.org/10.1145/1833335.1833347","url":null,"abstract":"Runtime architecture is important because it helps reason about quality attributes such as performance and security. We conducted an on-site field study to help us understand how developers understand object relationships, and what tool features a developer might need to convey their mental model of object relationships.\u0000 The subject of our study was an experienced, professional programmer. We asked the developer questions to check if he understood which tiers objects belonged to, and whether certain objects were conceptually part of other objects. We also took an initial runtime architecture and refined it to convey his intent. The developer's mental model seemed to agree with the one supported by the current, batch-oriented approach for extracting architectures.\u0000 This indicates that an interactive tool that allows making an object conceptually part of another, and abstracting away a low-level object would be useful to iteratively refine an initial object model.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121921532","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":"Business goals as architectural knowledge","authors":"P. Clements, L. Bass","doi":"10.1145/1833335.1833337","DOIUrl":"https://doi.org/10.1145/1833335.1833337","url":null,"abstract":"In this paper we argue that business goals constitute an important type of architectural knowledge. Quality attributes are often the primary drivers (shaping forces) behind an architecture, but quality attributes derive from an organization's business goals, whether the organization is the one developing or acquiring the software system. We introduce a seven-part scenario format for capturing and articulating business goals, and a set of \"standard\" business goal categories. Finally, we introduce a method to help an architect elicit business goals and tie them to quality attribute requirements, adding to the architect's store of architectural knowledge.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123273707","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":"Architectural decision modeling with reuse: challenges and opportunities","authors":"M. Nowak, C. Pautasso, O. Zimmermann","doi":"10.1145/1833335.1833338","DOIUrl":"https://doi.org/10.1145/1833335.1833338","url":null,"abstract":"Architectural decision modeling aims at supporting the software architecture design process by capturing a reusable body of architectural knowledge. Whereas significant progress has been made towards this vision, there still remains a number of open problems. This paper outlines selected research challenges and opportunities related to knowledge capturing and sharing, model evolution and verification, and the integration of the architectural design process with existing software development methodologies. Our goal is to start a discussion on a roadmap for future research on reusable modeling of architectural decisions.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127554620","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}
Anargyros Tsadimas, M. Nikolaidou, D. Anagnostopoulos
{"title":"Evaluating software architecture in a model-based approach for enterprise information system design","authors":"Anargyros Tsadimas, M. Nikolaidou, D. Anagnostopoulos","doi":"10.1145/1833335.1833346","DOIUrl":"https://doi.org/10.1145/1833335.1833346","url":null,"abstract":"Enterprise information system architecture design is the process of defining and optimizing its structure (both software and hardware) to effectively support provided functionality. System architects are combining software and hardware vital components, usually defined by other stakeholders, and are dealing with both functional and non functional requirements. Alternative architecture solution evaluation is usually a part of the design process, aiming to determine if the defined requirements are satisfied. A model-based approach, constituted of discrete views, each of which facilitates a discrete design task, has been proposed, while Systems Modeling Language (SysML) has been adopted for the model representation. In this paper, emphasis is given on the Evaluation View, aiming at the exploration of alternative software and hardware combination scenarios proposed in other views. The view facilitates the management of simulation experiments and results and the verification of predefined requirements. A case study, where the proposed model-based design approach has been applied is also discussed.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131503621","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":"ETAK: tailoring architectural evolution by (re-)using architectural knowledge","authors":"J. Noppen, D. Tamzalit","doi":"10.1145/1833335.1833339","DOIUrl":"https://doi.org/10.1145/1833335.1833339","url":null,"abstract":"When an architect is faced with architectural evolution needs, he can opt to apply an existing evolution pattern. This is useful for well-known evolutions but at times is only partly sufficient. When he faces more specific evolutions, the architect needs to rely on expertise and intuition to extend the evolution beyond the pattern, a risky, error-prone evolution activity. In particular when the architect wants to assess the relevance of potential evolutions, he has no systematic assistance for analysing architectural knowledge. We propose ETAK as a framework for providing such automated assistance. ETAK allows the architect to define architectural traits he has in mind and the specific architectural knowledge he wants to consider. ETAK establishes the relevance of these traits for the new architecture, which can be used to decide whether to include them. We thus propose tailored architectural evolutions, drawing on intuition of the architect and architectural knowledge.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"121 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122386083","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":"Using rationale to support pattern-based architectural design","authors":"Wei Wang, J. Burge","doi":"10.1145/1833335.1833336","DOIUrl":"https://doi.org/10.1145/1833335.1833336","url":null,"abstract":"Architectural design rationale describes the decisions made, alternatives considered, and reasons for and against each alternative considered when defining a software architecture. At least some of these reasons should reference the non-functional requirements (NFRs) for the system. The SEURAT_Architecture system uses a pre-defined pattern library and the NFRs for a software system to guide the selection of architectural patterns. Each pattern recommended by the system serves as an alternative to the architectural decision made and comes with rationale for why this pattern is considered useful. This system serves several purposes---to guide the architect through the decision-making process, to ensure that NFRs are considered when making these critical early decisions, and to capture the rationale for the architecture as a byproduct of the tool-supported selection process.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134177514","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":"Using systematic mapping to explore software architecture knowledge","authors":"E. Nakagawa, Daniel Feitosa, K. Felizardo","doi":"10.1145/1833335.1833340","DOIUrl":"https://doi.org/10.1145/1833335.1833340","url":null,"abstract":"Software architectures have played a significant role in determining the success of software systems. In this perspective, a lot of work have been conducted and considerable knowledge in the software architecture area has been accumulated. In another perspective, systematic mapping is a technique that provides an overview of a research area to assess the quantity of evidence existing on a topic of interest. Thus, the main objective of this paper is to introduce systematic mapping in order to explore, understand, organize and summarize software architecture knowledge, aiming at contributing to software architecture area. A simple example of use of this technique is presented and results point out to its viability also in the software architecture research area.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122427256","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":"Architecture knowledge management during system evolution: observations from practitioners","authors":"I. Ozkaya, P. Wallin, J. Axelsson","doi":"10.1145/1833335.1833343","DOIUrl":"https://doi.org/10.1145/1833335.1833343","url":null,"abstract":"It is widely accepted that awareness of architectural decisions enables better management and planning of system evolution, refactoring, and modernization efforts. In this paper we report data from interviews with software architects about how practitioners utilize architecture during system evolution. Our results show, despite the widely shared view that long-lived systems are better off with strong architectures; basic architecture-centric practices are not followed systematically. The key gap we observe is in correct and timely communication of architectural issues. This overall finding is not surprising. However, our data also contributes to how architecture knowledge management activities can be focused for most benefit throughout a system's lifespan. While the often-referenced problem is lack of time spent on documentation and design practices, our interviews show that lack of quality attribute reasoning early on, and during the lifespan of the system is a key contributor to failing to use architecture knowledge effectively during evolution.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128354281","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}