{"title":"Scenarios, quality attributes, and patterns: capturing and using their synergistic relationships for product line architectures","authors":"M. Babar","doi":"10.1109/APSEC.2004.91","DOIUrl":"https://doi.org/10.1109/APSEC.2004.91","url":null,"abstract":"Typically, architectural choices determine the achievement of desired goals (such as reusability and maintainability) of product line software development. Several methods have been proposed to design and analyze product line architectures with respect to desired quality attributes. Most of these methods encourage the use of architectural patterns to develop architectures with known characteristics and apply scenarios to evaluate those architectures for desired quality attributes. We observe an increased awareness of the links that exist among scenarios, quality attributes, and patterns. However, there are very few attempts to systematically capture and suitably document such synergistic relationships to support architecture design and evaluation. This paper presents our thoughts on exploiting the above-mentioned synergy. It also proposes some techniques of improving the product line architecture design and evaluation process by identifying and capturing architecturally significant information from architectural patterns.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125605498","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":"A systematic study of UML class diagram constituents for their abstract and precise recovery","authors":"Yann-Gaël Guéhéneuc","doi":"10.1109/APSEC.2004.13","DOIUrl":"https://doi.org/10.1109/APSEC.2004.13","url":null,"abstract":"Existing reverse-engineering tools use algorithms based on vague and verbose definitions of UML constituents to recover class diagrams from source code. Thus, reverse-engineered class diagrams are neither abstract nor precise representations of source code and are of little interest for software engineers. We propose an exhaustive study of class diagram constituents with respect to their recovery from C++, Java, and Smalltalk source code. We exemplify our study with a tool suite, PTIDEJ, to reverse-engineer Java programs as UML class diagrams abstractly and precisely. The tool suite produces class diagrams that help software engineers in better understanding programs.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126051210","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":"An agent design pattern classification scheme: capturing the notions of agency in agent design patterns","authors":"Ayodele Oluyomi, S. Karunasekera, L. Sterling","doi":"10.1109/APSEC.2004.19","DOIUrl":"https://doi.org/10.1109/APSEC.2004.19","url":null,"abstract":"Agent technology is increasingly being used to develop software systems in different domains. Hence particular design problems are recurring in different multiagent systems development projects. In order to enhance the reuse of proven solutions to recurring design problems, agent design patterns are being identified and documented. Understandably, most of the available work on agent design patterns reflect object oriented concepts (classes, objects, inheritance, etc) and exhibit an implementation bias. It is preferable for these patterns to reflect the notions of agency and be described at the right level of abstraction. In this paper, we present a new agent design pattern classification scheme that is structured to better reflect the notions of agency and allow varying levels of abstraction in describing agent design patterns. We also show how four different agent design patterns fit into our classification scheme.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126863897","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":"Partitioning of Java applications to support dynamic updates","authors":"R. P. Bialek, E. Jul, Jean-Guy Schneider, Yan Jin","doi":"10.1109/APSEC.2004.71","DOIUrl":"https://doi.org/10.1109/APSEC.2004.71","url":null,"abstract":"The requirement for 24/7 availability of distributed applications complicates their maintenance and evolution as shutting down such applications to perform updates may not be an acceptable solution. Therefore, there is a need to be able to update these applications dynamically, i.e. without shutting them down. Current solutions for building dynamically updatable Java applications require that applications either are prepared for updates from the outset, comply with a specific framework, or are executed in a modified virtual machine. In this work, we present a novel approach to creating dynamically updatable Java applications based on the concept of partitioning applications into units of dynamic updates and illustrate how this approach better addresses the problems of adding update support to existing applications than traditional approaches.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124863648","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":"The design of evolutionary process modeling languages","authors":"Darren C. Atkinson, Daniel C. Weeks, J. Noll","doi":"10.1109/APSEC.2004.98","DOIUrl":"https://doi.org/10.1109/APSEC.2004.98","url":null,"abstract":"To formalize a software process, its important aspects must be extracted as a model. Many processes are used repeatedly, and the ability to automate a process is also desired. One approach is to use a notation that already exists, such as a programming language, and extend it. However, the intricacies and restrictions the programming language places on the ability to succinctly and clearly describe a process can be problematic. An alternative approach is to develop a language specifically for describing processes. A significant disadvantage of this approach, however, is the lack of tool support for ensuring model correctness. We discuss a high-level language that encourages evolutionary model development and describe a tool for performing model verification. We have used our language and tool on the NetBeans model for distributed software development.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"219 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131551397","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":"Relationship between PLS-dependent organizations and PLSE-capable software houses","authors":"Yoshikazu Hayashi","doi":"10.1109/APSEC.2004.83","DOIUrl":"https://doi.org/10.1109/APSEC.2004.83","url":null,"abstract":"No single organization could provide everything by themselves. Software providing organizations in need of help in product line software engineering and software houses that can provide the help should establish a mutually beneficial relationship in their long-haul plans.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125489705","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":"A comparative analysis of architecture frameworks","authors":"A. Tang, Jun Han, Pin Chen","doi":"10.1109/APSEC.2004.2","DOIUrl":"https://doi.org/10.1109/APSEC.2004.2","url":null,"abstract":"Architecture frameworks are methods used in architecture modeling. They provide a structured and systematic approach to designing systems. To date there has been little analysis on their roles in system and software engineering and if they are satisfactory. This study provides a model of understanding through analyzing the goals, inputs and outcomes of six architecture frameworks. It characterizes two classes of architecture frameworks and identifies some of their deficiencies. To overcome these deficiencies, we propose to use costs, benefits and risks for architecture analysis. We also propose a method to delineate architecture activities from detailed design activities.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128305817","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}
Tsuneo Nakanishi, Minoru Hatamoto, M. Matsumoto, Susumu Yamazaki, T. Kitasuka, Akira Fukuda
{"title":"Product Line Based Component Unification and Exploiting Unified Components in FORM","authors":"Tsuneo Nakanishi, Minoru Hatamoto, M. Matsumoto, Susumu Yamazaki, T. Kitasuka, Akira Fukuda","doi":"10.1109/APSEC.2004.74","DOIUrl":"https://doi.org/10.1109/APSEC.2004.74","url":null,"abstract":"In this paper we propose product line based component unification to reuse works required for component unification such as combined tests, WCET estimation, etc. and properties produced by component unification such as documents, binaries etc. We perform a case study of the personal destination screen with personal identification and find that component unification is worth to consider in product line engineering. Moreover, we present a sketch of an algorithm, which we expect to use in product line engineering tools, to exploit candidate components to be unified for strategic reuse along the product line with the feature model diagram of FORM product line engineering.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129520306","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":"Analysing reusability aspects in Java connector architecture","authors":"P. Maheshwari, Ji-Ho Kim","doi":"10.1109/APSEC.2004.31","DOIUrl":"https://doi.org/10.1109/APSEC.2004.31","url":null,"abstract":"With the growing needs of Enterprise Application Integration (EAI), flexibility has been the main issue these days. This paper guides the readers to view how this flexibility has been achieved in Java Connector Architecture (JCA). JCA provides the integration framework that encapsulates the integration component from other enterprise components. The claimed advantages of this framework are increased-reusability and reduced-time to market for applications. This paper analyses JCA in the aspect of OO framework, design patterns, components and class libraries to evaluate its advantage. The details of JCA specification and its competitiveness in the market are not discussed here. We believe that this study will benefit both application developers and researchers working in application integration area.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129935233","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":"Computing optimal scheduling policies for software projects","authors":"F. Padberg","doi":"10.1109/APSEC.2004.39","DOIUrl":"https://doi.org/10.1109/APSEC.2004.39","url":null,"abstract":"The time needed to complete a software development project is hard to estimate in practice. In addition to the uncertainty about the duration of the individual development steps, software projects often suffer from unexpected rework and delays. As a result, project scheduling remains a difficult task for the managers of software projects. In this paper, we compute optimal scheduling strategies for a set of sample software projects. The computations are based on a stochastic Markov decision model for software projects which focuses on capturing the feedback between concurrent development activities. The optimal strategies are computed using a variant of the value iteration algorithm from stochastic dynamic programming. Since the underlying process model is stochastic, the strategies are stochastically optimal, that is, they minimize the expected project duration. The ultimate goal of this research is to develop guidelines for managers how to schedule their software projects under uncertainty in the best possible way. The sample projects are similar, but differ in certain characteristics of the project or product, such as the strength of the coupling between the components or the degree of specialization of the teams on the tasks. By using a set of related projects, we can study how the project characteristics influence the optimal scheduling decisions in a project. In addition to computing the optimal scheduling policies for the sample projects, we use extensive simulations to compare the performance of the optimal policy against the so-called list policies for each given setting. List policies are a simple, but commonly used class of scheduling policies. For our sample projects, we find that the best list policy in general is not optimal. The performance gap is the larger the higher the degree of specialization of the teams is. On the other hand, the stronger the coupling between the components, the smaller is the improvement which the optimal policy achieves over the best list policy.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130860815","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}