Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896707
Greg Reeve, S. Reeves
/spl mu/-Charts are a way of specifying reactive systems, i.e. systems which are in some environment to which they have to react, based on the well-established formalism Statecharts. This paper gives (very abbreviated) examples of translating /spl mu/-charts to Z, which is itself a well-established language for specifying computational systems with tried and tested methods and support tools which guide its effective use in systems development. We undertake this translation in order that investigation of the modelled system can be performed before expensive and lengthy implementation is considered. We also present an extension of the /spl mu/-charts and the related Z to deal with a simple command language, local variables and integer-valued signals.
{"title":"/spl mu/-Charts and Z: examples and extensions","authors":"Greg Reeve, S. Reeves","doi":"10.1109/APSEC.2000.896707","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896707","url":null,"abstract":"/spl mu/-Charts are a way of specifying reactive systems, i.e. systems which are in some environment to which they have to react, based on the well-established formalism Statecharts. This paper gives (very abbreviated) examples of translating /spl mu/-charts to Z, which is itself a well-established language for specifying computational systems with tried and tested methods and support tools which guide its effective use in systems development. We undertake this translation in order that investigation of the modelled system can be performed before expensive and lengthy implementation is considered. We also present an extension of the /spl mu/-charts and the related Z to deal with a simple command language, local variables and integer-valued signals.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"25 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":"127737891","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.896688
S. Biffl, T. Grechenig, M. Köhle
Project managers need timely feedback on the quality of development products to monitor and control project progress. Inspection is an effective method to identify defects and to measure product quality. Objective and subjective models can be used to estimate the total number of defects in a product based on defect data from inspection. This paper reports on a controlled experiment to evaluate the accuracy of individual subjective estimates of developers, who had just before inspected the document, on the number of defects in a software requirements specification. In the experiment most inspectors underestimated the total number of defects in the document. The number of defects reported and the number of (major) reference defects found were identified as factors that separated groups of inspectors who over- or underestimated on average.
{"title":"Evaluation of inspectors' defect estimation accuracy for a requirements document after individual inspection","authors":"S. Biffl, T. Grechenig, M. Köhle","doi":"10.1109/APSEC.2000.896688","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896688","url":null,"abstract":"Project managers need timely feedback on the quality of development products to monitor and control project progress. Inspection is an effective method to identify defects and to measure product quality. Objective and subjective models can be used to estimate the total number of defects in a product based on defect data from inspection. This paper reports on a controlled experiment to evaluate the accuracy of individual subjective estimates of developers, who had just before inspected the document, on the number of defects in a software requirements specification. In the experiment most inspectors underestimated the total number of defects in the document. The number of defects reported and the number of (major) reference defects found were identified as factors that separated groups of inspectors who over- or underestimated on average.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"18 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":"126125438","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.896691
N. Mehandjiev, C. Gaskell
Advances in strategic decision exploration and requirements engineering have brought about areas of overlap between them. We explore the areas of overlap as a mechanism for transferring ideas and approaches between the two disciplines. We exemplify the argument by showing how the "live models" approach can be applied to both contexts, based on the results of a pilot interdisciplinary project.
{"title":"Requirements engineering and strategic decision exploration: an area for interdisciplinary research","authors":"N. Mehandjiev, C. Gaskell","doi":"10.1109/APSEC.2000.896691","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896691","url":null,"abstract":"Advances in strategic decision exploration and requirements engineering have brought about areas of overlap between them. We explore the areas of overlap as a mechanism for transferring ideas and approaches between the two disciplines. We exemplify the argument by showing how the \"live models\" approach can be applied to both contexts, based on the results of a pilot interdisciplinary project.","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":"115238591","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.896693
Karl R. P. H. Leung, W. Wong
A classification trees is one method of generating test cases from specifications. It partitions the input domain into a number of classifications. A classification tree is created to depict the relationship among the classifications. Test cases are then derived from this tree. However, classification trees have a number of shortcomings. Their expressive power is limited by the tree structure. They also rely heavily on human decisions in selecting test cases. This paper introduces an alternative approach to the generation of test cases. We first define classifications and classes formally. Then, we analyze the relations among classes and classifications and express these relations as class vectors. Test cases are then derived from the Cartesian product of vector partitions. The expressive power of vectors is better than that of a tree structure, and hence can be applied in some systems where test cases are complicated. Furthermore, more of the information obtained in the specifications is utilized. Hence, the amount of human decision-making is minimized.
{"title":"Deriving test cases using class vectors","authors":"Karl R. P. H. Leung, W. Wong","doi":"10.1109/APSEC.2000.896693","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896693","url":null,"abstract":"A classification trees is one method of generating test cases from specifications. It partitions the input domain into a number of classifications. A classification tree is created to depict the relationship among the classifications. Test cases are then derived from this tree. However, classification trees have a number of shortcomings. Their expressive power is limited by the tree structure. They also rely heavily on human decisions in selecting test cases. This paper introduces an alternative approach to the generation of test cases. We first define classifications and classes formally. Then, we analyze the relations among classes and classifications and express these relations as class vectors. Test cases are then derived from the Cartesian product of vector partitions. The expressive power of vectors is better than that of a tree structure, and hence can be applied in some systems where test cases are complicated. Furthermore, more of the information obtained in the specifications is utilized. Hence, the amount of human decision-making is minimized.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"16 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":"115257185","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.896685
Jifeng He, C. Hoare
A theory of programming starts with a complete Boolean algebra of specifications, and defines healthiness conditions which exclude infeasibility of implementation. These are expressed as algebraic laws useful for transformation and optimisation of designs. Programming notations and languages must be restricted to those preserving all the healthiness conditions. We have explored a wide range of programming paradigms, including nondeterministic, sequential, parallel, logical and probabilistic. In all cases, we have found a single healthiness condition, formalised by constructions due to Karoubi and to Kleisli. The uniformity maintains for all paradigms a single notion of correctness throughout the chain that leads from specification through designs to programs that are proved to meet the original specification.
{"title":"Unifying theories of healthiness condition","authors":"Jifeng He, C. Hoare","doi":"10.1109/APSEC.2000.896685","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896685","url":null,"abstract":"A theory of programming starts with a complete Boolean algebra of specifications, and defines healthiness conditions which exclude infeasibility of implementation. These are expressed as algebraic laws useful for transformation and optimisation of designs. Programming notations and languages must be restricted to those preserving all the healthiness conditions. We have explored a wide range of programming paradigms, including nondeterministic, sequential, parallel, logical and probabilistic. In all cases, we have found a single healthiness condition, formalised by constructions due to Karoubi and to Kleisli. The uniformity maintains for all paradigms a single notion of correctness throughout the chain that leads from specification through designs to programs that are proved to meet the original specification.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"5 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":"122225296","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.896714
Kenha Park, Jintae Kim, S. Park
This paper presents a goal based modeling method for an agent-oriented software system. In modeling research for agent-oriented software, problems often emerged in that the properties of an agent system were not efficiently reflected in the development phase (analysis, design, etc.), because the techniques based on the other software paradigm are adopted to develop agent-oriented software. The result of analysis differs depending on which paradigm is used. An agent is goal-oriented, which necessitates a shift in paradigm. Therefore, the modeling method for an agent system should start from the concept of goal.
{"title":"Goal based agent-oriented software modeling","authors":"Kenha Park, Jintae Kim, S. Park","doi":"10.1109/APSEC.2000.896714","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896714","url":null,"abstract":"This paper presents a goal based modeling method for an agent-oriented software system. In modeling research for agent-oriented software, problems often emerged in that the properties of an agent system were not efficiently reflected in the development phase (analysis, design, etc.), because the techniques based on the other software paradigm are adopted to develop agent-oriented software. The result of analysis differs depending on which paradigm is used. An agent is goal-oriented, which necessitates a shift in paradigm. Therefore, the modeling method for an agent system should start from the concept of goal.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"47 7","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120893358","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.896721
D. Ram, M. Sreekanth
Patterns are a means for capturing experience in solving general problems. They give general solutions to common and recurring problems. They exist at various phases of the software development life-cycle (SDLC), namely the analysis phase, the design phase, the coding phase and the testing phase. Patterns in each phase are identified independently. It is possible for the patterns of one phase to be related to patterns in other phases. This paper proposes pattern mapping to inter-relate the patterns of various phases in SDLC to address this issue. It is advantageous to capture the related patterns of different phases as a single unit for software development. Reusable integrated components (ICs) of patterns are proposed to capture the related patterns. A software IC is a group of inter-related patterns, that gives solutions for a recurring problem at various phases of SDLC. A representation mechanism for ICs is presented using the URA (Unified Representation of an Artifact) model, which captures the software development process. Also, this paper proposes a software development process that is based on reusable ICs of patterns. The representation of a software project developed using ICs is also discussed.
{"title":"Reusable integrated components of inter-related patterns for software development","authors":"D. Ram, M. Sreekanth","doi":"10.1109/APSEC.2000.896721","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896721","url":null,"abstract":"Patterns are a means for capturing experience in solving general problems. They give general solutions to common and recurring problems. They exist at various phases of the software development life-cycle (SDLC), namely the analysis phase, the design phase, the coding phase and the testing phase. Patterns in each phase are identified independently. It is possible for the patterns of one phase to be related to patterns in other phases. This paper proposes pattern mapping to inter-relate the patterns of various phases in SDLC to address this issue. It is advantageous to capture the related patterns of different phases as a single unit for software development. Reusable integrated components (ICs) of patterns are proposed to capture the related patterns. A software IC is a group of inter-related patterns, that gives solutions for a recurring problem at various phases of SDLC. A representation mechanism for ICs is presented using the URA (Unified Representation of an Artifact) model, which captures the software development process. Also, this paper proposes a software development process that is based on reusable ICs of patterns. The representation of a software project developed using ICs is also discussed.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"26 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":"123110716","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.896712
Volker H. Schroeter
Reuse in software development has received increasing attention over the past three decades from both practitioner and researchers alike. Many reuse models have been proposed, and many reuse projects have been launched with the aim to improve software quality and productivity. Despite reports of reuse successes and a continuing interest in the subject, reuse has not found its way into the mainstream software engineering practice. Already a decade ago reuse experts began to study the gap between reuse theory and practice, and they separated the facts from the myths. It became widely acknowledged that reuse is a complex endeavor, dependant on numerous factors, potentially involving many methods and most notably being influenced by human perception. However, to this day no reuse standard has emerged in the field that would address all of the complexity and at the same time strike a balance between comprehensiveness and applicability. This paper proposes a generic adaptive reuse framework for the incremental development of comprehensive and applicable reuse models. In order to facilitate the use of the framework, it has been embedded into a rudimentary process model, both framework and process model are open for adaptation. An attempt was made to address and manage the complexity of reuse planning, implementation and evaluation.
{"title":"PMF/GRIP a framework for the development and implementation of reuse models","authors":"Volker H. Schroeter","doi":"10.1109/APSEC.2000.896712","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896712","url":null,"abstract":"Reuse in software development has received increasing attention over the past three decades from both practitioner and researchers alike. Many reuse models have been proposed, and many reuse projects have been launched with the aim to improve software quality and productivity. Despite reports of reuse successes and a continuing interest in the subject, reuse has not found its way into the mainstream software engineering practice. Already a decade ago reuse experts began to study the gap between reuse theory and practice, and they separated the facts from the myths. It became widely acknowledged that reuse is a complex endeavor, dependant on numerous factors, potentially involving many methods and most notably being influenced by human perception. However, to this day no reuse standard has emerged in the field that would address all of the complexity and at the same time strike a balance between comprehensiveness and applicability. This paper proposes a generic adaptive reuse framework for the incremental development of comprehensive and applicable reuse models. In order to facilitate the use of the framework, it has been embedded into a rudimentary process model, both framework and process model are open for adaptation. An attempt was made to address and manage the complexity of reuse planning, implementation and evaluation.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"72 5","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132288639","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.896732
G. Roy, T. Woodings
The paper is concerned with the risks associated with software development and with the range of factors that can impact on the quality of the project management process. The management goal is to mitigate these risks leaving the project plan as unperturbed as possible. To achieve this goal risk analysis must attempt to identify the high risk elements of the project, provide ways of documenting the impacts of risk mitigation strategies and review the risks on a continuing basis as the project proceeds. A model is proposed for such risk analysis and to demonstrate its realization in a risk management tool, ProRisk.
{"title":"A framework for risk analysis in software engineering","authors":"G. Roy, T. Woodings","doi":"10.1109/APSEC.2000.896732","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896732","url":null,"abstract":"The paper is concerned with the risks associated with software development and with the range of factors that can impact on the quality of the project management process. The management goal is to mitigate these risks leaving the project plan as unperturbed as possible. To achieve this goal risk analysis must attempt to identify the high risk elements of the project, provide ways of documenting the impacts of risk mitigation strategies and review the risks on a continuing basis as the project proceeds. A model is proposed for such risk analysis and to demonstrate its realization in a risk management tool, ProRisk.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"50 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":"127682818","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 explosive increase in end-user computing on distributed systems requires that end users develop application software by themselves. One solution is given as the formula "a domain model /spl equiv/ a computation model", which implies that one task in cooperative work corresponds to one object in an object-oriented model. The application development environment M-base supports this formula. The application architecture is fixed and is composed of a model, a user interface (UI) and components. At the first stage, the system behavior is expressed as a message-driven model by using a modeling tool while focusing on message flow and components. At the second stage, a UI is generated automatically and may be customized if necessary. Then transition diagrams of UIs are generated automatically and used for confirmation of external specifications of the application. Finally, the system behavior is verified by using a simulation tool. This component-based development process is confirmed by a feasibility study on a given problem of the IPSJ sigRE group.
{"title":"Component-based application development on architecture of a model, UI and components","authors":"Takeshi Chusho, Hisashi Ishigure, Naoyuki Konda, Tomoaki Iwata","doi":"10.1109/APSEC.2000.896719","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896719","url":null,"abstract":"The explosive increase in end-user computing on distributed systems requires that end users develop application software by themselves. One solution is given as the formula \"a domain model /spl equiv/ a computation model\", which implies that one task in cooperative work corresponds to one object in an object-oriented model. The application development environment M-base supports this formula. The application architecture is fixed and is composed of a model, a user interface (UI) and components. At the first stage, the system behavior is expressed as a message-driven model by using a modeling tool while focusing on message flow and components. At the second stage, a UI is generated automatically and may be customized if necessary. Then transition diagrams of UIs are generated automatically and used for confirmation of external specifications of the application. Finally, the system behavior is verified by using a simulation tool. This component-based development process is confirmed by a feasibility study on a given problem of the IPSJ sigRE group.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"178 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":"124923265","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}