To build evolutive architectural and implementation code levels isomorphically to a domain level that generates sustainable cities autopoietically is challenging due to: 1) the likening of software to art is still in its infancy [14], 2) the highly interactive nature of the cooperative game exhibited by the experts has just begun to emerge [2] and 3) the needs of higher order reasoning structures mimicking the most evolved human cognitive processes such as reflective abilities, semiotic, hermeneutic and autopoietic reasoning require twining together many bits of fiber from diversified domains in order to see new formations and configurations of possible meaning.
{"title":"An evolutive architecture reasons as a semiotic, hermeneutic and autopoietic entity","authors":"Albertina Lourenci","doi":"10.1145/602461.602491","DOIUrl":"https://doi.org/10.1145/602461.602491","url":null,"abstract":"To build evolutive architectural and implementation code levels isomorphically to a domain level that generates sustainable cities autopoietically is challenging due to: 1) the likening of software to art is still in its infancy [14], 2) the highly interactive nature of the cooperative game exhibited by the experts has just begun to emerge [2] and 3) the needs of higher order reasoning structures mimicking the most evolved human cognitive processes such as reflective abilities, semiotic, hermeneutic and autopoietic reasoning require twining together many bits of fiber from diversified domains in order to see new formations and configurations of possible meaning.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"83 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116362987","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}
Scenario-based approach is one of the promising techniques not only to elicit requirements from stakeholders, but also to achieve user-participatory development. The techniques to construct scenarios of high quality with less efforts are necessary. In addition, since during developing a system its requirements are frequently changed by customers and/or users, the techniques to manage the changes to the scenarios and to handle the change propagations on the scenarios are also crucial ones. This paper proposes a solution to the above issues based on reusable pattern techniques and case grammar of natural-language processing techniques. Since scenarios are frequently written in natural language, we abstract case frames as reusable primitive parts to write sentences in a scenario and patterns to combine the case frames so that we can get consistent scenario episodes. These patterns include dependency relationships on the case frames to maintain semantic consistency of the scenarios that have been constructed with the patterns. As a result we can consistently evolve and/or change the existing scenarios to the new ones. We have applied our technique to an application in a rental business domain and assessed that we could construct a consistent scenario efficiently.
{"title":"Scenario evolution in requirements elicitation processes: scenario pattern and framework approach","authors":"Kenji Watahiki, M. Saeki","doi":"10.1145/602461.602500","DOIUrl":"https://doi.org/10.1145/602461.602500","url":null,"abstract":"Scenario-based approach is one of the promising techniques not only to elicit requirements from stakeholders, but also to achieve user-participatory development. The techniques to construct scenarios of high quality with less efforts are necessary. In addition, since during developing a system its requirements are frequently changed by customers and/or users, the techniques to manage the changes to the scenarios and to handle the change propagations on the scenarios are also crucial ones. This paper proposes a solution to the above issues based on reusable pattern techniques and case grammar of natural-language processing techniques. Since scenarios are frequently written in natural language, we abstract case frames as reusable primitive parts to write sentences in a scenario and patterns to combine the case frames so that we can get consistent scenario episodes. These patterns include dependency relationships on the case frames to maintain semantic consistency of the scenarios that have been constructed with the patterns. As a result we can consistently evolve and/or change the existing scenarios to the new ones. We have applied our technique to an application in a rental business domain and assessed that we could construct a consistent scenario efficiently.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"552 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116515284","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}
The use of three dimensional software visualisation techniques has the power to transform the way that tacit knowledge gathering and retrieval takes place during many software maintenance activities. The focus of this work is the understanding and management of software from various perspectives and therefore it is the visualisation of these software artefacts that is of greatest interest. This work moves towards providing a generic visualisation that is applicable to the management of many software systems within the bounds of the organisation, with the ability to view various artefacts over time (and thus their evolution) and also to incorporate lower level visualisations in three dimensions.
{"title":"Organisational trails through software systems","authors":"C. Knight, M. Munro","doi":"10.1145/602461.602495","DOIUrl":"https://doi.org/10.1145/602461.602495","url":null,"abstract":"The use of three dimensional software visualisation techniques has the power to transform the way that tacit knowledge gathering and retrieval takes place during many software maintenance activities. The focus of this work is the understanding and management of software from various perspectives and therefore it is the visualisation of these software artefacts that is of greatest interest. This work moves towards providing a generic visualisation that is applicable to the management of many software systems within the bounds of the organisation, with the ability to view various artefacts over time (and thus their evolution) and also to incorporate lower level visualisations in three dimensions.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130177231","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}
Since the famous statement "What is not measurable make measurable" of Galileo Galilei (1564 - 1642) it has been a major goal in science to quantify observations as a way to understand and control the underlying causes. With the growing awareness that evolution is a key aspect of software, an increasing number of computer scientists is investigating how metrics can be applied to evolving software artifacts. This paper provides a classification of the various approaches that use metrics to analyse, understand, control and improve the software evolution process, and identifies topics that require further research. As such, we expect that this paper will stimulate this emerging research area.
{"title":"Future trends in software evolution metrics","authors":"T. Mens, S. Demeyer","doi":"10.1145/602461.602476","DOIUrl":"https://doi.org/10.1145/602461.602476","url":null,"abstract":"Since the famous statement \"What is not measurable make measurable\" of Galileo Galilei (1564 - 1642) it has been a major goal in science to quantify observations as a way to understand and control the underlying causes. With the growing awareness that evolution is a key aspect of software, an increasing number of computer scientists is investigating how metrics can be applied to evolving software artifacts. This paper provides a classification of the various approaches that use metrics to analyse, understand, control and improve the software evolution process, and identifies topics that require further research. As such, we expect that this paper will stimulate this emerging research area.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130989330","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}
To evolve reactive system specifications, it is necessary to check properties of the specifications, such as satisfiability, stepwise satisfiability and strong satisfiability. We developed a verification method for checking these properties of specifications described in Linear Temporal Logic. The most significant problem of the verification is that it needs huge computational resources. To solve the problem, we introduce an efficient procedure for checking these properties based on a tableau method using combination of Binary Decision Diagrams representing sets of states and coarse graphs representing transitions.
{"title":"An efficient verification procedure supporting evolution of reactive system specifications","authors":"T. Aoshima, Kenji Sakuma, N. Yonezaki","doi":"10.1145/602461.602505","DOIUrl":"https://doi.org/10.1145/602461.602505","url":null,"abstract":"To evolve reactive system specifications, it is necessary to check properties of the specifications, such as satisfiability, stepwise satisfiability and strong satisfiability. We developed a verification method for checking these properties of specifications described in Linear Temporal Logic. The most significant problem of the verification is that it needs huge computational resources. To solve the problem, we introduce an efficient procedure for checking these properties based on a tableau method using combination of Binary Decision Diagrams representing sets of states and coarse graphs representing transitions.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132989451","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}
This paper depicts yet another approach to cope with legacy software systems, a struggle that began already in the early 1980's with the development of the first restructuring tools and has continued throughout the last 20 years with only modest success. In the meantime, reengineering technology has subsided and is now in the process of being replaced by new techniques aimed towards the reuse of existing software in modern distributed architectures. Such reuse presupposes a recycling process to extract components from existing programs using slicing techniques and transform them into a reusable form using wrapping techniques. The following research describes not only how reusability of legacy software can be measured, but also how it can be enhanced. The author cites his current work in extracting reusable modules from existing software with the aid of automated reverse-, reengineering and wrapping tools.
{"title":"Recycling software components extracted from legacy programs","authors":"H. Sneed","doi":"10.1145/602461.602469","DOIUrl":"https://doi.org/10.1145/602461.602469","url":null,"abstract":"This paper depicts yet another approach to cope with legacy software systems, a struggle that began already in the early 1980's with the development of the first restructuring tools and has continued throughout the last 20 years with only modest success. In the meantime, reengineering technology has subsided and is now in the process of being replaced by new techniques aimed towards the reuse of existing software in modern distributed architectures. Such reuse presupposes a recycling process to extract components from existing programs using slicing techniques and transform them into a reusable form using wrapping techniques. The following research describes not only how reusability of legacy software can be measured, but also how it can be enhanced. The author cites his current work in extracting reusable modules from existing software with the aid of automated reverse-, reengineering and wrapping tools.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121204345","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}
Case-studies are extremely popular in rapidly evolving research disciplines such as software engineering because they allow for a quick but fair assessment of new techniques. Unfortunately, a proper experimental set-up is rarely the case: all too often case-studies are based on a single small toy-example chosen to favour the technique under study. Such lack of scientific rigor prevents fair evaluation and has serious consequences for the credibility of our field. In this paper, we propose to use a representative set of cases as benchmarks for comparing various techniques dealing with software evolution. We hope that this proposal will launch a consensus building process that eventually must lead to a scientifically sound validation method for researchers investigating reverse- and re-engineering techniques.
{"title":"Towards a software evolution benchmark","authors":"S. Demeyer, T. Mens, M. Wermelinger","doi":"10.1145/602461.602502","DOIUrl":"https://doi.org/10.1145/602461.602502","url":null,"abstract":"Case-studies are extremely popular in rapidly evolving research disciplines such as software engineering because they allow for a quick but fair assessment of new techniques. Unfortunately, a proper experimental set-up is rarely the case: all too often case-studies are based on a single small toy-example chosen to favour the technique under study. Such lack of scientific rigor prevents fair evaluation and has serious consequences for the credibility of our field. In this paper, we propose to use a representative set of cases as benchmarks for comparing various techniques dealing with software evolution. We hope that this proposal will launch a consensus building process that eventually must lead to a scientifically sound validation method for researchers investigating reverse- and re-engineering techniques.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116574422","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}
L. Andrade, J. Fiadeiro, J. Gouveia, G. Koutsoukos, M. Wermelinger
Software evolution is, ever more, a critical concern for most business organizations. In spite of many promises, software development techniques, such as Object-Oriented ones, have fallen short of addressing this problem. We show how new technologies based on the notion of "coordination contract" can be deployed for managing the levels of change imposed by the evolution of requirements and technological environments, both in terms of semantic modeling and tool support.
{"title":"Support for business-driven evolution with coordination technologies","authors":"L. Andrade, J. Fiadeiro, J. Gouveia, G. Koutsoukos, M. Wermelinger","doi":"10.1145/602461.602481","DOIUrl":"https://doi.org/10.1145/602461.602481","url":null,"abstract":"Software evolution is, ever more, a critical concern for most business organizations. In spite of many promises, software development techniques, such as Object-Oriented ones, have fallen short of addressing this problem. We show how new technologies based on the notion of \"coordination contract\" can be deployed for managing the levels of change imposed by the evolution of requirements and technological environments, both in terms of semantic modeling and tool support.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115551333","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}
Software Clustering and Concept Analysis are two types of technique that can be used to determine the structure of a software system. This position paper proposes the use of such techniques to aid the study of software evolution. Basic Software Clustering and Concept Analysis techniques are described. By applying these techniques to different versions of a software system, it is possible that evolutionary trends over the lifetime of the system could be discovered. Work is proposed that will attempt to establish whether this is the case.
{"title":"Clustering and concept analysis for software evolution","authors":"J. Davey, E. Burd","doi":"10.1145/602461.602494","DOIUrl":"https://doi.org/10.1145/602461.602494","url":null,"abstract":"Software Clustering and Concept Analysis are two types of technique that can be used to determine the structure of a software system. This position paper proposes the use of such techniques to aid the study of software evolution. Basic Software Clustering and Concept Analysis techniques are described. By applying these techniques to different versions of a software system, it is possible that evolutionary trends over the lifetime of the system could be discovered. Work is proposed that will attempt to establish whether this is the case.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"155 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131869705","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}
During the evolution of a software system, it may be necessary to refactor the software in order to make it more flexible and amenable to new requirements that are being introduced. A typical aim of such a refactoring is to apply a suitable design pattern to the program in order to enhance its flexibility. Performing such a transformation by hand is an error-prone process, so automated support would be useful.We have developed a methodology for the creation of automated transformations that can apply a design pattern to an existing program. In this paper we present a brief description of this methodology, and report on the results of using this methodology to develop program transformations that can apply the Gamma et al design patterns. It is found that in almost 75% of cases a satisfactory transformation is developed, and that much of the commonality between design patterns can be captured in reusable minitransformations.
{"title":"Automated software evolution towards design patterns","authors":"M. Cinnéide, P. Nixon","doi":"10.1145/602461.602499","DOIUrl":"https://doi.org/10.1145/602461.602499","url":null,"abstract":"During the evolution of a software system, it may be necessary to refactor the software in order to make it more flexible and amenable to new requirements that are being introduced. A typical aim of such a refactoring is to apply a suitable design pattern to the program in order to enhance its flexibility. Performing such a transformation by hand is an error-prone process, so automated support would be useful.We have developed a methodology for the creation of automated transformations that can apply a design pattern to an existing program. In this paper we present a brief description of this methodology, and report on the results of using this methodology to develop program transformations that can apply the Gamma et al design patterns. It is found that in almost 75% of cases a satisfactory transformation is developed, and that much of the commonality between design patterns can be captured in reusable minitransformations.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132022263","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}