{"title":"An externalized infrastructure for self-healing systems","authors":"D. Wile, Alexander Egyed","doi":"10.1109/WICSA.2004.1310711","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310711","url":null,"abstract":"Software architecture descriptions can play a wide variety of roles in the software lifecycle, from requirements specification, to logical design, to implementation architectures. In addition, execution architectures can be used both to constrain and enhance the functionality of running systems, e.g. security architectures and debugging architectures. Along with others from DARPA's DASADA program we proposed an execution infrastructure for so-called self-healing, self-adaptive systems - systems that maintain a particular level of healthiness or quality of service (QoS). This externalized infrastructure does not entail any modification of the target system - whose health is to be maintained. It is driven by a reflective model of the target system's operation to determine what aspects can be changed to effect repair. We present that infrastructure along with an example implemented in accord with it.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129483444","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}
A. Deursen, C. Hofmeister, R. Koschke, L. Moonen, C. Riva
{"title":"Symphony: view-driven software architecture reconstruction","authors":"A. Deursen, C. Hofmeister, R. Koschke, L. Moonen, C. Riva","doi":"10.1109/WICSA.2004.1310696","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310696","url":null,"abstract":"Authentic descriptions of a software architecture are required as a reliable foundation for any but trivial changes to a system. Far too often, architecture descriptions of existing systems are out of sync with the implementation. If they are, they must be reconstructed. There are many existing techniques for reconstructing individual architecture views, but no information about how to select views for reconstruction, or about process aspects of architecture reconstruction in general. In this paper we describe view-driven process for reconstructing software architecture that fills this gap. To describe Symphony, we present and compare different case studies, thus serving a secondary goal of sharing real-life reconstruction experience. The Symphony process incorporates the state of the practice, where reconstruction is problem-driven and uses a rich set of architecture views. Symphony provides a common framework for reporting reconstruction experiences and for comparing reconstruction approaches. Finally, it is a vehicle for exposing and demarcating research problems in software architecture reconstruction.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129936857","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}
Steffen Göbel, Christoph Pohl, Ronald Aigner, M. Pohlack, Simone Röttger, S. Zschaler
{"title":"The COMQUAD component container architecture","authors":"Steffen Göbel, Christoph Pohl, Ronald Aigner, M. Pohlack, Simone Röttger, S. Zschaler","doi":"10.1109/WICSA.2004.1310717","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310717","url":null,"abstract":"Component-based applications require runtime support to be able to guarantee non-functional properties. This paper proposes an architecture for a real-time-capable, component-based runtime environment, which allows to separate non-functional and functional concerns in component-based software development. The architecture is presented with particular focus on the real-time-non-real-time split of the runtime environment and the communication issues of respective component types and container parts.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133344948","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":"Real-time collaboration in activity-based architectures","authors":"J. Bardram, H. Christensen","doi":"10.1109/WICSA.2004.1310719","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310719","url":null,"abstract":"With the growing research into mobile and ubiquitous computing, there is a need for addressing how such infrastructures can support collaboration between nomadic users. We present the activity based computing paradigm and outline a proposal for handling collaboration in an activity-based architecture. We argue that activity-based computing establishes a natural and sound conceptual and architectural basis for session management in real-time, synchronous collaboration.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132144166","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}
C. Mattmann, D. Crichton, J. Hughes, S. Kelly, P. Ramirez
{"title":"Software architecture for large-scale, distributed, data-intensive systems","authors":"C. Mattmann, D. Crichton, J. Hughes, S. Kelly, P. Ramirez","doi":"10.1109/WICSA.2004.1310708","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310708","url":null,"abstract":"The sheer amount of data produced by modern science research has created a need for the construction and understanding of \"data-intensive systems\", large-scale, distributed systems which integrate information. The formal nature of constructing such software systems; however, is relatively unstudied, and has been a large focus of the super-computing and distributed computing communicates, rather than the software engineering communities. These data-intensive systems exhibit characteristics which appear fruitful for research from a software engineering, and software architectural focus. From our experience, the methodologies and notations for design and implementation of data-intensive systems look to be a good starting point for this important research area. This paper presents our experience with OODT (object-oriented data technology), a software architectural style, and middleware-based implementation for data-intensive systems developed and maintained at the Jet Propulsion Laboratory. To date, OODT has been successfully evaluated in several different science domains including Planetary Science with NASA's Planetary Data System (PDS) and Cancer Research with the National Cancer Institute (NCI).","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126077279","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":"Mining patterns to support software architecture evaluation","authors":"Liming Zhu, M. Babar, Ross Jeffery","doi":"10.1109/WICSA.2004.1310687","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310687","url":null,"abstract":"In this paper, we present an approach to improve the software architecture evaluation process by systematically extracting and appropriately documenting architecturally significant information from software architecture and design patterns; we are interested in only two pieces of information found in software patterns: general scenarios and architectural tactics. General scenarios distilled from patterns not only assist stakeholders in developing concrete scenarios during a scenario-based architecture evaluation, but can also help an architect select and calibrate a quality attribute reasoning framework. Architectural tactics in patterns are used as a means of manipulating independent parameters in the reasoning framework to achieve the desired quality. Moreover, we believe if we use general scenarios and tactics extracted from patterns in an architectural evaluation, the results of that evaluation can be used as an evidence to validate the pattern's claim with respect to the quality attributes. We demonstrate our approach by using EJB architecture usage patterns. We contend that this approach can be used to analyze and validate any architecture pattern.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"130 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115981214","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 portability and maintainability of software product family architecture: terminal software case study","authors":"Mari Matinlassi","doi":"10.1109/WICSA.2004.1310713","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310713","url":null,"abstract":"This paper introduces a case study of a driver terminal product family. The terminals are used for fare collection in public transportation. The case study applies the QADA architectural design and analysis method in documenting and evaluating the portability and maintainability of existing architecture. During this case study it was found out how to improve the architectural descriptions of the QADA method for better quality evaluation support. In addition, evaluation revealed risky points of architecture that were improved with separation, compression and abstraction.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132158494","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}
R. Roshandel, B. Schmerl, N. Medvidović, D. Garlan, Dehua Zhang
{"title":"Understanding tradeoffs among different architectural modeling approaches","authors":"R. Roshandel, B. Schmerl, N. Medvidović, D. Garlan, Dehua Zhang","doi":"10.1109/WICSA.2004.1310689","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310689","url":null,"abstract":"Over the past decade, a number of architecture description languages (ADLs) have been proposed to facilitate modeling and analysis of software architecture. While each claims to have various benefits, to date, there have been few studies to assess the relative merits of these approaches. In this paper, we describe our experience using two ADLs to model a system initially described in UML, and compare their effectiveness in identifying system design flaws. We also describe the techniques we used for extracting architectural models from a UML system description.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115986478","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":"Performance optimization of embedded software architecture - a case study","authors":"Anu Purhonen","doi":"10.1109/WICSA.2004.1310695","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310695","url":null,"abstract":"This paper describes experiences with performance evaluation of software architecture. The approach used is based on a software architecture evaluation strategy developed for non-safety critical embedded software. In this work, the parts that belong to the performance evaluation are enhanced and applied. The most appropriate approach from the contemporary performance analysis techniques is selected to support the evaluation. The evaluation strategy is used for evaluating the performance of a software product from an interactive digital television field.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131960551","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":"Aspects and constraints for implementing configurable product-line architectures","authors":"D. Lesaint, G. Papamargaritis","doi":"10.1109/WICSA.2004.1310697","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310697","url":null,"abstract":"Component-based product-line architectures (PLAs) must support two operations: application configuration - the construction of valid application specifications - and application generation - the compilation of specifications into executable applications. Whereas configuration is a combinatorial task involving advanced knowledge-based reasoning, generation is a deterministic compilation process. This suggests an application synthesis model where configuration and generation are carried out separately by interoperable tools. To this end, we introduce a PLA development toolkit which includes a constraint-based configuration language and an aspect-based generation language supporting the same architecture model. The toolkit imposes dual PLA implementations consisting of a configuration program and a generation program. The compilation of the configuration program yields an interactive configurator used to produce valid configurations at run-time. Valid configurations are then compiled by the generator with the generation program to produce Java applications. Overall, this model allows the use of powerful configuration and generation technologies - namely, constraint programming and aspect-oriented programming - while enforcing view consistency and tool interoperability.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115429398","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}