Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896729
Shaoying Liu, Tetsuo Fukuzaki, K. Miyamoto
SOFL is a formal language and method for system specification and design. As a language it is an integration of Petri nets, data flow diagrams, and VDM-SL. As a method it is a combination of a structured method and object-oriented method. We introduce a graphical user interface (GUI) for supporting the construction of SOFL specifications, and a tool for testing SOFL specifications. With those tools it would be easy to construct a SOFL specification that consists of condition data flow diagrams, modules, and classes and to ensure its consistency and validity.
{"title":"A GUI and testing tool for SOFL","authors":"Shaoying Liu, Tetsuo Fukuzaki, K. Miyamoto","doi":"10.1109/APSEC.2000.896729","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896729","url":null,"abstract":"SOFL is a formal language and method for system specification and design. As a language it is an integration of Petri nets, data flow diagrams, and VDM-SL. As a method it is a combination of a structured method and object-oriented method. We introduce a graphical user interface (GUI) for supporting the construction of SOFL specifications, and a tool for testing SOFL specifications. With those tools it would be easy to construct a SOFL specification that consists of condition data flow diagrams, modules, and classes and to ensure its consistency and validity.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"136 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124268833","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896700
A. Pohthong, D. Budgen
Although developing systems with reusable software components offers considerable scope to speed the delivery of a system, their use also requires us to revise our ideas about the design process. We report on a series of laboratory-based studies in which we observed the processes by which simple component-based designs were developed, paying particular attention to when the documentation for particular components was accessed and what information was being sought at each stage in the development of the solution. We observed quite extensive access to documentation, both for the components that were eventually used and also for those that were discarded during the process.
{"title":"Accessing software component documentation during design: an observational study","authors":"A. Pohthong, D. Budgen","doi":"10.1109/APSEC.2000.896700","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896700","url":null,"abstract":"Although developing systems with reusable software components offers considerable scope to speed the delivery of a system, their use also requires us to revise our ideas about the design process. We report on a series of laboratory-based studies in which we observed the processes by which simple component-based designs were developed, paying particular attention to when the documentation for particular components was accessed and what information was being sought at each stage in the development of the solution. We observed quite extensive access to documentation, both for the components that were eventually used and also for those that were discarded during the process.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126741153","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896690
Clare Churcher, T. McLennan, A. McKinnon
Many people are dependent on desktop end user tools such as spreadsheets and databases to manage their data. While they may have the technical skills to set up data repositories, many end users lack the analysis skills to design data models which reflect their often deceptively complex requirements. We advocate that a comprehensive data model should always be developed, with expert help, so that the end user can feel confident the subtleties of the data are fully understood. We then suggest that some pragmatic decisions can be made to simplify the model so that the end user can retain control over setting up and maintaining the application.
{"title":"Pragmatic data modelling and design for end users","authors":"Clare Churcher, T. McLennan, A. McKinnon","doi":"10.1109/APSEC.2000.896690","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896690","url":null,"abstract":"Many people are dependent on desktop end user tools such as spreadsheets and databases to manage their data. While they may have the technical skills to set up data repositories, many end users lack the analysis skills to design data models which reflect their often deceptively complex requirements. We advocate that a comprehensive data model should always be developed, with expert help, so that the end user can feel confident the subtleties of the data are fully understood. We then suggest that some pragmatic decisions can be made to simplify the model so that the end user can retain control over setting up and maintaining the application.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"30 11","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114112665","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896725
I. Crnkovic, M. Larsson, F. Lüders
Experience from industry shows that graduates in computer science generally lack many of the skills required in software development projects. This presents a challenge to academic institutions. We describe our experiences in implementing a course in software engineering at a Swedish university. A set of challenges is presented and it is described how these were met using a combination of lectures and project work. The results of the projects, the lessons we have learned, and the feedback from the students are discussed.
{"title":"Implementation of a software engineering course for computer science students","authors":"I. Crnkovic, M. Larsson, F. Lüders","doi":"10.1109/APSEC.2000.896725","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896725","url":null,"abstract":"Experience from industry shows that graduates in computer science generally lack many of the skills required in software development projects. This presents a challenge to academic institutions. We describe our experiences in implementing a course in software engineering at a Swedish university. A set of challenges is presented and it is described how these were met using a combination of lectures and project work. The results of the projects, the lessons we have learned, and the feedback from the students are discussed.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127786891","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896703
N. Stanger
An important part of the systems development process is building models of real-world phenomena. These phenomena are described by many different kinds of information, and this diversity has resulted in a wide variety of modelling representations. Different types of information are better expressed by some representations than others, so it is sensible to use multiple representations to describe a phenomenon. This paper describes an approach to facilitating the use of multiple representations within a single viewpoint by translating descriptions of the viewpoint among different representations. An important issue with such translations is their quality, or how well they map the constructs of one representation to the constructs of another. Two methods are proposed for improving translation quality: heuristics and enrichment, and a preliminary metric for measuring relative translation quality is described.
{"title":"Translating descriptions of a viewpoint among different representations","authors":"N. Stanger","doi":"10.1109/APSEC.2000.896703","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896703","url":null,"abstract":"An important part of the systems development process is building models of real-world phenomena. These phenomena are described by many different kinds of information, and this diversity has resulted in a wide variety of modelling representations. Different types of information are better expressed by some representations than others, so it is sensible to use multiple representations to describe a phenomenon. This paper describes an approach to facilitating the use of multiple representations within a single viewpoint by translating descriptions of the viewpoint among different representations. An important issue with such translations is their quality, or how well they map the constructs of one representation to the constructs of another. Two methods are proposed for improving translation quality: heuristics and enrichment, and a preliminary metric for measuring relative translation quality is described.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127494493","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896736
Clare Churcher, A. McKinnon, Roger Jarquin
The choice of data structure is an important decision in any software project. Application developers do not necessarily have a good understanding of how a particular system manages its data structures and how this might influence performance. We provide visualisations representing the behaviour of different data structures in an object oriented distributed database system. The data is obtained from cache monitoring software and the visualisations therefore represent the actual, as opposed to the theoretical, behaviour. The visualisations can be used as a supplement to the textual description of how a particular system manages its data structures so providing developers, educators and students with a clearer understanding of the implications of their choice of data structure.
{"title":"Visualising the influence of data structure choice on the performance of a distributed database system","authors":"Clare Churcher, A. McKinnon, Roger Jarquin","doi":"10.1109/APSEC.2000.896736","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896736","url":null,"abstract":"The choice of data structure is an important decision in any software project. Application developers do not necessarily have a good understanding of how a particular system manages its data structures and how this might influence performance. We provide visualisations representing the behaviour of different data structures in an object oriented distributed database system. The data is obtained from cache monitoring software and the visualisations therefore represent the actual, as opposed to the theoretical, behaviour. The visualisations can be used as a supplement to the textual description of how a particular system manages its data structures so providing developers, educators and students with a clearer understanding of the implications of their choice of data structure.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124998987","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896686
N. Sidorova, M. Steffen
We report on a model checking case study of an industrial medium access protocol for wireless ATM. Since the protocol is too large to be verified by any of the existing checkers as a whole, the verification exploits the layered and modular structure of the protocol's SDL specification and proceeds in a bottom-up, compositional way. The compositional arguments are used in combination with abstraction techniques to further reduce the state space of the system. The verification is primarily aimed at debugging the system. After correcting the specification step by step and validating various untimed and time-dependent properties, a model of the whole control component of the medium-access protocol is built and verified. The significance of the case study is in demonstrating that verification tools can handle complex properties of a model as large as shown.
{"title":"Verification of a wireless ATM medium-access protocol","authors":"N. Sidorova, M. Steffen","doi":"10.1109/APSEC.2000.896686","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896686","url":null,"abstract":"We report on a model checking case study of an industrial medium access protocol for wireless ATM. Since the protocol is too large to be verified by any of the existing checkers as a whole, the verification exploits the layered and modular structure of the protocol's SDL specification and proceeds in a bottom-up, compositional way. The compositional arguments are used in combination with abstraction techniques to further reduce the state space of the system. The verification is primarily aimed at debugging the system. After correcting the specification step by step and validating various untimed and time-dependent properties, a model of the whole control component of the medium-access protocol is built and verified. The significance of the case study is in demonstrating that verification tools can handle complex properties of a model as large as shown.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126139988","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896708
Yang Li, Hongji Yang, W. Chu
Recovering domain knowledge from legacy code plays an important role in the new information technology era, which can be of help for program understanding, system evolution and software reuse. Traditional methods for domain knowledge recovery from source code did not sufficiently address the issue of ambiguity handling, in particular, the propagation of ambiguity among multiple domain knowledge slices recovered from source code in the software reverse engineering process. We present a novel approach to recovering unambiguous domain knowledge from legacy code, where isolated ambiguous domain knowledge slices are "fused" together in an iterative ambiguity propagation process and hence the disambiguity of these recovered knowledge slices is increased.
{"title":"Fusing ambiguous domain knowledge slices in a reverse engineering process","authors":"Yang Li, Hongji Yang, W. Chu","doi":"10.1109/APSEC.2000.896708","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896708","url":null,"abstract":"Recovering domain knowledge from legacy code plays an important role in the new information technology era, which can be of help for program understanding, system evolution and software reuse. Traditional methods for domain knowledge recovery from source code did not sufficiently address the issue of ambiguity handling, in particular, the propagation of ambiguity among multiple domain knowledge slices recovered from source code in the software reverse engineering process. We present a novel approach to recovering unambiguous domain knowledge from legacy code, where isolated ambiguous domain knowledge slices are \"fused\" together in an iterative ambiguity propagation process and hence the disambiguity of these recovered knowledge slices is increased.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122343649","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896711
H. Christensen, Henrik Røn
This experience paper presents observations, lessons learned, and recommendations based on a case study of reuse. The case study is concerned with the development, maturation, and reuse of a business domain independent software component (horizontal reuse) in a project-driven organisation that has little previous experience with systematic software reuse. The main lessons learned are that: even though domain analysis can alleviate reuse mismatch problems one should not underestimate the technical problems that may arise when reusing; a side-effect of reuse is that software engineering knowledge is transferred within an organisation; design patterns can be as risky as they can be beneficial; and there is more to architectural mismatch than "merely" packaging mismatch.
{"title":"A case study of horizontal reuse in a project-driven organisation","authors":"H. Christensen, Henrik Røn","doi":"10.1109/APSEC.2000.896711","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896711","url":null,"abstract":"This experience paper presents observations, lessons learned, and recommendations based on a case study of reuse. The case study is concerned with the development, maturation, and reuse of a business domain independent software component (horizontal reuse) in a project-driven organisation that has little previous experience with systematic software reuse. The main lessons learned are that: even though domain analysis can alleviate reuse mismatch problems one should not underestimate the technical problems that may arise when reusing; a side-effect of reuse is that software engineering knowledge is transferred within an organisation; design patterns can be as risky as they can be beneficial; and there is more to architectural mismatch than \"merely\" packaging mismatch.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125474842","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}
Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896730
B. Henderson-Sellers, R. Dué, I. Graham, G. Collins
Second generation OO methods, with a few exceptions, contained no elements addressing process or project management. Third generation methods have been defined as those collaborative developments which also have a significant process element. Two examples are the rational unified process (RUP) and object-oriented process, environment and notation (OPEN). We examine RUP and OPEN from a project management viewpoint and evaluate whether either or both would meet acceptable standards in process support, project management guidelines and full lifecycle description for OO software development.
{"title":"Third generation OO processes: a critique of RUP and OPEN from a project management perspective","authors":"B. Henderson-Sellers, R. Dué, I. Graham, G. Collins","doi":"10.1109/APSEC.2000.896730","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896730","url":null,"abstract":"Second generation OO methods, with a few exceptions, contained no elements addressing process or project management. Third generation methods have been defined as those collaborative developments which also have a significant process element. Two examples are the rational unified process (RUP) and object-oriented process, environment and notation (OPEN). We examine RUP and OPEN from a project management viewpoint and evaluate whether either or both would meet acceptable standards in process support, project management guidelines and full lifecycle description for OO software development.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130802717","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}