J. V. Eyck, Nelis Boucké, Alexander Helleboogh, T. Holvoet
{"title":"Using code analysis tools for architectural conformance checking","authors":"J. V. Eyck, Nelis Boucké, Alexander Helleboogh, T. Holvoet","doi":"10.1145/1988676.1988687","DOIUrl":"https://doi.org/10.1145/1988676.1988687","url":null,"abstract":"Architectural conformance checking verifies whether a system conforms to its intended architecture, which is essential to safeguard the quality attributes of the system. Due to the size of many systems, performing conformance checking by means of manual code inspections is often practically infeasible. Code analysis tools can be used to automatically check architectural conformance.\u0000 In this paper, we investigate several code analysis tools that offer support for Java and compare them on their usefulness for architectural conformance checking: Architecture Rules, Macker, Lattix DSM, SonarJ, Structure101 and XDepend.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121059991","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":"Architecting with just enough information","authors":"R. Nord, Nanette Brown, I. Ozkaya","doi":"10.1145/1988676.1988680","DOIUrl":"https://doi.org/10.1145/1988676.1988680","url":null,"abstract":"We learned an important lesson recently about breaking down barriers among architects, developers, and other stakeholders when we were engaged on a project and were challenged to deliver the architecture in smaller increments and shorter iterations. We learned how information was used and exchanged among key players participating in the software development process and are seeking to formalize our understanding through principles of workflow from lean software development and how architecture knowledge management can influence defining an appropriate architecture batch size for effective incremental development.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121357402","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 drive product line architecture configuration","authors":"J. Burge, G. Gannod, Holly L. Connor","doi":"10.1145/1988676.1988683","DOIUrl":"https://doi.org/10.1145/1988676.1988683","url":null,"abstract":"The process of designing and building a software system requires making many decisions. These decisions, the alternatives considered, and the reasons behind the choices comprise the rationale for the completed system. The driving force behind many, if not most, of these decisions is the need to meet the stakeholder requirements for the system being developed. Software product line approaches allow developers to design and develop families of products that share a common platform of behaviors and infrastructure. These approaches are based on assembling a configuration of a set of common features (commonalities) along with a set of product specific features (variabilities) to form a new product with a low amount of effort. In this context, these variabilities represent a wide variety of potential \"design\" alternatives. The goal of our research is to bring the end-user into the process of configuring a software product through the use of system level rationale that maps product line features to system requirements. Specifically, in our approach we specify rationale at the level of a feature diagram. Accordingly, we are taking advantage of the natural correlation between alternative features in a feature diagram and the alternative structure used in design rationale. This allows the end-user to indicate which requirements apply to their product and to have that selection generate a set of product features that satisfy those requirements.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"2016 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132860921","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":"Building roadmaps: a knowledge sharing perspective","authors":"A. Tang, T. D. Boer, H. Vliet","doi":"10.1145/1988676.1988681","DOIUrl":"https://doi.org/10.1145/1988676.1988681","url":null,"abstract":"Roadmapping is a process that involves many stakeholders and architects. In an industry case, we have found that a major challenge is to exchange timely knowledge between these people. We report a number of knowledge sharing scenarios in the roadmapping process. In order to address these issues, we propose a codification mechanism that makes use of a semantic wiki to facilitate knowledge sharing.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121128347","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":"Software designers, are you biased?","authors":"A. Tang","doi":"10.1145/1988676.1988678","DOIUrl":"https://doi.org/10.1145/1988676.1988678","url":null,"abstract":"Methods of representing and capturing design rationale have been studied in past years. Many meta-models, methods and techniques have been proposed. Are these software engineering methods sufficient to help designers make logical and appropriate design decisions? Studies have shown that people make biased decisions, software designers may also be subjected to such cognitive biases. In this paper, I give an overview of how cognitive biases and reasoning failures may lead to unsound design decisions. I conjecture that in order to improve the overall quality of software design, we as a community need to improve our understanding and teaching of software design reasoning.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128843804","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":"Transforming trace information in architectural documents into re-usable and effective traceability links","authors":"Mehdi Mirakhorli, J. Cleland-Huang","doi":"10.1145/1988676.1988685","DOIUrl":"https://doi.org/10.1145/1988676.1988685","url":null,"abstract":"Architectural analysis processes, such as the Architecture Trade-off and Analysis Method (ATAM), utilize a scenario based approach to evaluate the extent to which an architectural solution meets a potentially competing set of quality goals. The resulting architectural documents contain a rich set of trace relationships between quality goals, decisions, and architectural elements. Unfortunately this information is not readily accessible for supporting tasks other than initial architectural assessments. In this paper we describe a technique and supporting tools for extracting and generating traceability links from the architectural documents. A specialized Traceability Information Model is used to guide the user through the task of establishing traceability links from design decisions to the architectural elements in which the decision is realized. The retrieved and generated traceability links can then be used to support a far broader set of activities including visualization of design rationale and architectural preservation. We evaluate our approach using a case study of the NASA Crew Exploration Vehicle.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"157 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115695192","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":"Codifying architecture knowledge to support online evolution of software product lines","authors":"Danny Weyns, B. Michalik","doi":"10.1145/1988676.1988684","DOIUrl":"https://doi.org/10.1145/1988676.1988684","url":null,"abstract":"A company's architecture knowledge is often personalized across specific people that share experience and knowledge in the field. However, this knowledge may be important for other stakeholders. Omitting the codification of the architecture knowledge may result in ad-hoc practices, which is particularly relevant for software evolution. In a collaboration with Egemin, an industrial manufacturer of logistic systems, we faced the problem with a lack of codified architecture knowledge in the context of the evolution of a software product line (SPL). In particular, maintainers lack the architecture knowledge that is needed to perform the evolution tasks of deployed products correctly and efficiently. Ad-hoc updates increase costs and harm the company's reputation. To address this problem, we developed an automated approach for evolving deployed systems of a SPL. Central in this approach are (1) a meta-model that codifies the architecture knowledge required to support evolution of a SPL, and (2) and algorithm that uses the architecture knowledge harvested from a deployed system based on the meta-model to generate the list of tasks maintainers have to perform to evolve the system. Evaluation of the approach demonstrates a significant improvement of the quality of system updates with respect to the correct execution of updates and the availability of services during the updates.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116584399","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":"Goals, questions and metrics for architectural decision models","authors":"M. Nowak, C. Pautasso","doi":"10.1145/1988676.1988682","DOIUrl":"https://doi.org/10.1145/1988676.1988682","url":null,"abstract":"Architectural decisions are the key element behind the design process leading to a software architecture. Making software architects aware of the implications of their decisions is only the beginning of what can be achieved by capturing the rationale and the constraints influencing the decision making process in a reusable body of architectural knowledge. In this paper we propose a metric-based approach to the analysis of architectural decision models. Using a hierarchically-structured approach we identify a number of useful goals and stakeholders involved in the architectural design process. Next, we sketch a set of metrics to provide data for the evaluation of the aforementioned goals. Our aim is to stimulate a discussion on how to find indicators relevant for software architects by measuring the intrinsic properties of architectural knowledge.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129791412","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":"Model-driven and domain-specific architectural knowledge view for compliance meta-data in process-driven SOAs","authors":"T. Holmes, Huy Tran, Uwe Zdun, S. Dustdar","doi":"10.1145/1833335.1833345","DOIUrl":"https://doi.org/10.1145/1833335.1833345","url":null,"abstract":"Architectural knowledge tends to get lost as the architecture evolves. In many cases, the main reason is that there are no incentives for stakeholders to invest enough time into recording the architectural knowledge. This is in part due to the generic nature of architectural knowledge recording and sharing means, such as architectural decision templates and meta-models. In this paper, we investigate on the feasibility of a domain-specific architectural knowledge view in the context of a model-driven project. The domain-specific approach helps us to make architectural knowledge (AK) recording more useful for a project apart from the goal of AK sharing and reuse. Model-driven development helps us to ensure the consistency of the architectural knowledge as it is part of the generation process. Finally, depicting architectural knowledge as a architectural view supports separation of concerns with regard to the various models in the system. We demonstrate our approach for a compliance meta-data view for process-driven SOA systems that records compliance requirements and rationales of an architecture.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"22 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":"134052022","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":"Improving understandability of architecture design through visualization of architectural design decision","authors":"Mojtaba Shahin, Peng Liang, M. Khayyambashi","doi":"10.1145/1833335.1833348","DOIUrl":"https://doi.org/10.1145/1833335.1833348","url":null,"abstract":"Concentrating on components and connectors in traditional approaches to document software architecture causes the problems, such as high costs for architecture change and erode during architecture evolution. These problems result in a tendency to record architectural design decisions and their rationale made throughout architecting process. This tendency encourages practitioners and researchers to develop various models and related tools to model, capture, manage, share, and (re)use architectural design decisions. But there still remains a need to visualize and explore architectural design decisions due to the huge number of decisions and relationships among them in large and complex systems development. In this paper, we first make a survey on tools that support visualization of architectural design decisions, their features and deficiencies. Second we investigate how Compendium tool can be employed as a general tool to visualize architectural design decisions and their rationale. Last we present how the visualization by Compendium can improve the understandability and support the communication of architectural design in architecting process.","PeriodicalId":325791,"journal":{"name":"Sharing and Reusing Architectural Knowledge","volume":"52 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":"132141876","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}