{"title":"Heuristics for the transition from analysis to software architecture","authors":"J. Pérez-Martínez, A. Sierra-Alonso","doi":"10.1109/WICSA.2004.1310716","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310716","url":null,"abstract":"To our knowledge, no current software development methodology explicitly describes how to transit between the different development stages it proposes. This is more evident in the transition from the analysis stage to the software architecture of the application. This paper presents the first semiautomatic method to derive the software architecture of a system from its analysis. The proposal is a set of heuristics that, when applied to the analysis artifacts, generate the software architecture of the application. This proposal has several benefits: (1) the software architecture of the system is directly derived by applying the heuristics; (2) there is a direct trace relationship between the analysis artifacts and the elements of the resulting architecture, which eases the system maintenance.","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":"120853646","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. Morrison, G. Kirby, D. Balasubramaniam, K. Mickan, F. Oquendo, S. Cîmpan, B. Warboys, B. Snowdon, Robert Mark Greenwood
{"title":"Support for evolving software architectures in the ArchWare ADL","authors":"R. Morrison, G. Kirby, D. Balasubramaniam, K. Mickan, F. Oquendo, S. Cîmpan, B. Warboys, B. Snowdon, Robert Mark Greenwood","doi":"10.1109/WICSA.2004.1310691","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310691","url":null,"abstract":"Software that cannot evolve is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in software systems, we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are changeable during execution; updatable in that components can be replaced; decomposable in that an executing system may be (partially) stopped and split up into its components and interactions; and reflective in that the specification of components and interactions may be evolved during execution. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a /spl pi/-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution that can be used for introspection; a decomposition operator to incrementally break up executing systems; and structural reflection for creating new components and binding them into running systems.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"19 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":"125035352","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 reconfiguration patterns for dynamic evolution of software architectures","authors":"H. Gomaa, M. Hussein","doi":"10.1109/WICSA.2004.1310692","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310692","url":null,"abstract":"A software reconfiguration pattern is a solution to a problem in component-based software systems where the configuration needs to be updated while the system is operational. It defines how a set of components participating in a software pattern cooperate to change the configuration. This paper describes an approach for designing software reconfiguration patterns. It also describes how reconfiguration patterns can be used in reconfigurable software product line architectures. A change management model for dynamically evolving a software product line is also described. The paper concludes with a description of case studies and a proof-of-concept prototype.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"17 4 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":"125618065","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":"Systematic development and exploration of service-oriented software architectures","authors":"Ingolf Krüger, Reena Mathew","doi":"10.1109/WICSA.2004.1310701","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310701","url":null,"abstract":"The notion of service is becoming increasingly popular as a means for implementing large-scale distributed, reactive systems. Systematic development approaches and modeling notations for services are still largely missing from the literature. We introduce an architecture definition language for service-oriented software architectures. It provides modeling elements for interaction patterns defining services, as well as for mapping sets of services to target component configurations. We also present a comprehensive software development process that considers services as first class modeling elements. By decoupling the modeling of services from their implementation on target component configurations this process enables exploration of multiple architectures implementing the same set of services. We substantiate our view of services as cross-cutting architectural aspects by providing a mapping from services to aspects in AspectJ. We illustrate applicability of our approach by modeling service-oriented architectures for portions of the Center TRACON automation system as a running example.","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":"130103333","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}
Goran Mustapic, Anders Wall, C. Norström, I. Crnkovic, Kristian Sandström, Joakim Fröberg, J. Andersson
{"title":"Real world influences on software architecture - interviews with industrial system experts","authors":"Goran Mustapic, Anders Wall, C. Norström, I. Crnkovic, Kristian Sandström, Joakim Fröberg, J. Andersson","doi":"10.1109/WICSA.2004.1310694","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310694","url":null,"abstract":"Industrial systems are examples of complex and often long-lived systems in which software is playing an increasingly important role. Their architectures play a crucial role in maintaining the properties of such systems during their entire life cycle. In this paper, we present the results of a case study based on a series of interviews and a workshop with key personnel from research and development groups of successful international companies in their Swedish locations. The main goal of the investigation was to find the significant factors which influence system and software architectures and to find similarities and differences between the architecture-determining decisions and the architectures of these systems. The role of the architect was an important subject of the investigation. Our findings result in recommendations relating to the design and evolution of system architectures and suggestions regarding areas in which future research would be beneficial.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"8 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120909137","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":"Style-based refinement of dynamic software architectures","authors":"L. Baresi, R. Heckel, S. Thöne, Dániel Varró","doi":"10.1109/WICSA.2004.1310699","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310699","url":null,"abstract":"In this paper, we address the correct refinement of abstract architectural models into more platform-specific representations. We consider the challenging case of dynamic architectures which can perform run-time reconfigurations. For this purpose, the underlying platform has to provide the necessary reconfiguration mechanisms. To conceptually model such platforms including provided reconfiguration mechanisms, we use architectural styles formalized by graph transformation rules. Based on formal refinement relations between abstract and platform-specific styles, we can then investigate how to realize business-specific scenarios on a certain platform by automatically deriving refined, platform-specific reconfiguration scenarios.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"41 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":"133473545","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":"Reactive types for dataflow-oriented software architectures","authors":"B. Norton, M. Fairtlough","doi":"10.1109/WICSA.2004.1310704","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310704","url":null,"abstract":"Digital signal processing (DSP) tools, such as Ptolemy, LabView and iConnect, allow application developers to assemble reactive systems by connecting predefined components in generalised dataflow graphs and by hierarchically building new components by encapsulating subgraphs. We follow the literature in calling this approach dataflow-oriented development. Our previous work has shown how a new process calculus, uniting ideas from previous systems within a compositional theory, can be formally shown to capture the properties of such systems. This paper first recasts the graphical dataflow-oriented style of design into an underlying textual architecture design language (ADL) and then shows how the previous modelling approach can be seen as a system of process algebraic behavioural types for such a language, so that type checking is the mechanism used to statically diagnose the reactivity of applications. We show how both the existing notion of behavioural equivalence and a new behavioural preorder are involved in this judgement.","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":"129932177","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":"Generating well-synchronized multithreaded programs from software architecture descriptions","authors":"M. Bernardo, E. Bontà","doi":"10.1109/WICSA.2004.1310700","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310700","url":null,"abstract":"Multithreading provides an adequate support for concurrent programming, but requires the software developer to take care of the correct synchronization and exchange of data among threads. In this paper we propose an architecture-driven approach to the thread synchronization management, which is completely transparent to the software developer. This is realized by implementing a suitable Java package - which adheres to a general synchronization model and is inspired by the main architectural abstractions - by means of which well-synchronized multithreaded Java programs can be synthesized from their architectural specifications. The approach is illustrated by means of a real-time audio processing system.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"73 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":"120863911","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. Riva, Petri Selonen, Tarja Systä, A. Tuovinen, Jianli Xu, Yaojin Yang
{"title":"Establishing a software architecting environment","authors":"C. Riva, Petri Selonen, Tarja Systä, A. Tuovinen, Jianli Xu, Yaojin Yang","doi":"10.1109/WICSA.2004.1310702","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310702","url":null,"abstract":"We present the work of establishing an integrated environment that facilitates architecture design, reconstruction, and maintenance in the entire life cycle of a software product line. This architecting environment (ART environment) has been used in modeling and analysis of both the designed platform architecture model and the reverse-engineered product implementation architecture models of different releases in a big product line of Nokia mobile terminals. ART environment comprises tools for architecture model validation, architecture model analysis and processing, and reverse architecting. The ART environment fits the current software development process inside Nokia, and is integrated with the design and documentation tools that have already been used by Nokia software architects. UML, after being customized with UML profiles for architecture design, is used as the architecture modeling language in ART environment.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"125 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":"120893518","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}
V. Issarny, F. Tartanoglu, Jinshan Liu, F. Sailhan
{"title":"Software architecture for mobile distributed computing","authors":"V. Issarny, F. Tartanoglu, Jinshan Liu, F. Sailhan","doi":"10.1109/WICSA.2004.1310703","DOIUrl":"https://doi.org/10.1109/WICSA.2004.1310703","url":null,"abstract":"Today's wireless networks and devices support the dynamic composition of mobile distributed systems, according to device connectivity. This has in particular led to the introduction of a number of supporting middleware. However, such solutions need to be complemented with adequate modeling and verification support towards enforcing the correctness of the dynamic mobile systems with respect to both functional and nonfunctional properties. Building on the elegant properties of software architecture modeling, this paper introduces base modeling of mobile software components, which integrates key features of the wireless infrastructure and allows for reasoning about the behavior of dynamically composed systems.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"3 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":"126430543","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}