Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896689
S. Kundu
This is the first part of a three-part series in which we present a new approach to software functional design, starting from the dataflow diagram D of an algorithm. We introduce the notion of a path-closed set for characterizing the subsets of D that can be considered as function blocks for the software. We also define an equivalence relation and a partial order on the data-items in D, which together with the path-closed subsets, give rise to three design rules for creating a functional design. We illustrate our method using an algorithm with complex dataflows and data-structures.
{"title":"The concept of path-closed subsets and its use in software functional design","authors":"S. Kundu","doi":"10.1109/APSEC.2000.896689","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896689","url":null,"abstract":"This is the first part of a three-part series in which we present a new approach to software functional design, starting from the dataflow diagram D of an algorithm. We introduce the notion of a path-closed set for characterizing the subsets of D that can be considered as function blocks for the software. We also define an equivalence relation and a partial order on the data-items in D, which together with the path-closed subsets, give rise to three design rules for creating a functional design. We illustrate our method using an algorithm with complex dataflows and data-structures.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"14 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":"116285406","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.896724
A. Hazeyama, K. Osada, Y. Miyadera, S. Yokoyama
The authors have been developing an education system that supports university-level group exercises related to the design and implementation of information systems. The system is composed of three sub-systems: group organization, electronic textbook creation and software development process support. These are flexibly integrated via databases. The authors applied this system to an actual class at their university, and evaluated the system based on quantitative data from exercise outputs and student questionnaires. The questionnaire results indicated that the system was especially effective for document creation and for monitoring progress among group members. Groups that used the system created more documents than those that did not. Personal progress reports were the most frequently created documents.
{"title":"An education support system of information system design and implementation and lessons learned from its application","authors":"A. Hazeyama, K. Osada, Y. Miyadera, S. Yokoyama","doi":"10.1109/APSEC.2000.896724","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896724","url":null,"abstract":"The authors have been developing an education system that supports university-level group exercises related to the design and implementation of information systems. The system is composed of three sub-systems: group organization, electronic textbook creation and software development process support. These are flexibly integrated via databases. The authors applied this system to an actual class at their university, and evaluated the system based on quantitative data from exercise outputs and student questionnaires. The questionnaire results indicated that the system was especially effective for document creation and for monitoring progress among group members. Groups that used the system created more documents than those that did not. Personal progress reports were the most frequently created documents.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"38 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":"123497315","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.896717
R. Agarwal, G. Bruno, Marco Torchiano
Current object-oriented formalisms, such as UML, focus on describing class models and use instance models only for depicting scenarios. Little attention is being devoted to defining how complex systems can be structured in order to conform with those class models and, further, which constraints class models must adhere to so that such conformity is affordable. This paper focuses on instance models, which are models of actual systems (and, as such, they are made up of instances), and discusses the relationships between instance models and class models. A large number of applications, ranging from generic data modeling to enterprise modeling, require instance models. The importance of hierarchical composition is emphasized: its meaning and implications are discussed in both contexts. A novel approach for building templates out of aggregates of instances is also presented. A case study concerning enterprise modeling shows the application of the approach.
{"title":"Enterprise modeling using class and instance models","authors":"R. Agarwal, G. Bruno, Marco Torchiano","doi":"10.1109/APSEC.2000.896717","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896717","url":null,"abstract":"Current object-oriented formalisms, such as UML, focus on describing class models and use instance models only for depicting scenarios. Little attention is being devoted to defining how complex systems can be structured in order to conform with those class models and, further, which constraints class models must adhere to so that such conformity is affordable. This paper focuses on instance models, which are models of actual systems (and, as such, they are made up of instances), and discusses the relationships between instance models and class models. A large number of applications, ranging from generic data modeling to enterprise modeling, require instance models. The importance of hierarchical composition is emphasized: its meaning and implications are discussed in both contexts. A novel approach for building templates out of aggregates of instances is also presented. A case study concerning enterprise modeling shows the application of the approach.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"203 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":"126077706","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.896728
Shuguang Li, Qing Jiang, C. George
We adopt an extension of case-base reasoning (CBR) to also include generalised design information in the form of models. We have a repository of models as well as one of cases. We consider the design of the two repositories, the relations within them, and the relations between them. We add a rule language that can be used to check cases and also for retrieval and selection. We use formal specification to capture these data structures, and the meaning of rules, precisely and unambiguously. Formal specification is also a useful abstraction mechanism: we are abstract about the design domain (whose properties are a parameter of the specification), and about the implementation details.
{"title":"Combining case-based and model-based reasoning: a formal specification","authors":"Shuguang Li, Qing Jiang, C. George","doi":"10.1109/APSEC.2000.896728","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896728","url":null,"abstract":"We adopt an extension of case-base reasoning (CBR) to also include generalised design information in the form of models. We have a repository of models as well as one of cases. We consider the design of the two repositories, the relations within them, and the relations between them. We add a rule language that can be used to check cases and also for retrieval and selection. We use formal specification to capture these data structures, and the meaning of rules, precisely and unambiguously. Formal specification is also a useful abstraction mechanism: we are abstract about the design domain (whose properties are a parameter of the specification), and about the implementation details.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"63 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":"126311166","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.896723
G. Costain
Object-oriented (OO) concepts can be challenging for the novice. Student analysts typically have no background in information technology (IT) and lack the experience on which to build their system models. OO analysis and design (OOA&D) is also difficult where no OO programming experience exists. The Unified Modelling Language (UML) supplies a standard notation for modelling OO systems but does not specify a methodology for integrating those models to assist in system development. This paper describes the selection of an OO process for novice analysts that integrates the UML notation and provides a foundation for future specialised OO papers. It was selected to reinforce the concept of objects collaborating to solve problems.
{"title":"Selecting an object-oriented process for student analysts","authors":"G. Costain","doi":"10.1109/APSEC.2000.896723","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896723","url":null,"abstract":"Object-oriented (OO) concepts can be challenging for the novice. Student analysts typically have no background in information technology (IT) and lack the experience on which to build their system models. OO analysis and design (OOA&D) is also difficult where no OO programming experience exists. The Unified Modelling Language (UML) supplies a standard notation for modelling OO systems but does not specify a methodology for integrating those models to assist in system development. This paper describes the selection of an OO process for novice analysts that integrates the UML notation and provides a foundation for future specialised OO papers. It was selected to reinforce the concept of objects collaborating to solve problems.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"22 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":"116665393","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.896679
Jaewon Oh, H. Bahn, C. Wu, K. Koh
We develop a new method to map (i.e. allocate and schedule) real-time applications into certain multiprocessor systems. Its objectives are: the minimization of the number of processors used; and the minimization of the deadline missing time. Given a parallel program with real time constraints and a multiprocessor system, our method finds schedules of the program in the system which satisfy all the real time constraints with minimum number of processors. The minimization is carried out through a Pareto-based genetic algorithm which independently considers the both goals, because they are non-commensurable criteria. Experimental results show that our scheduling algorithm achieved better performance than previous ones. The advantage of our method is that the algorithm produces not a single solution but a family of solutions known as the Pareto-optimal set, out of which designers can select optimal solutions appropriate for their environmental conditions.
{"title":"Pareto-based soft real-time task scheduling in multiprocessor systems","authors":"Jaewon Oh, H. Bahn, C. Wu, K. Koh","doi":"10.1109/APSEC.2000.896679","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896679","url":null,"abstract":"We develop a new method to map (i.e. allocate and schedule) real-time applications into certain multiprocessor systems. Its objectives are: the minimization of the number of processors used; and the minimization of the deadline missing time. Given a parallel program with real time constraints and a multiprocessor system, our method finds schedules of the program in the system which satisfy all the real time constraints with minimum number of processors. The minimization is carried out through a Pareto-based genetic algorithm which independently considers the both goals, because they are non-commensurable criteria. Experimental results show that our scheduling algorithm achieved better performance than previous ones. The advantage of our method is that the algorithm produces not a single solution but a family of solutions known as the Pareto-optimal set, out of which designers can select optimal solutions appropriate for their environmental conditions.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"73 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":"116789805","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.896702
K. Bennett, P. Layzell, D. Budgen, P. Brereton, Linda A. Macaulay, M. Munro
For the past 40 years, the techniques, processes and methods of software development have been dominated by supply-side issues, giving rise to a software industry oriented towards developers rather than users. To achieve the levels of functionality, flexibility and time-to-market required by users, a radical shift is required in the development of software, with a more demand-centric view, leading to software which will be delivered as a service within the framework of an open marketplace. Already, there are some signs that this approach is being adopted by industry, but in a very limited way. We summarise research and a research method which has resulted in a long-term strategic view of software engineering innovation. Based on this foundation, we describe more recent work, which has resulted in an innovative demand-side model for the future of software. We propose a service architecture in which components may be bound instantly, just at the time they are needed, and then the binding may be discarded. A major benefit of this approach is that it leads to highly flexible and agile software that should be able to meet rapidly changing business needs.
{"title":"Service-based software: the future for flexible software","authors":"K. Bennett, P. Layzell, D. Budgen, P. Brereton, Linda A. Macaulay, M. Munro","doi":"10.1109/APSEC.2000.896702","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896702","url":null,"abstract":"For the past 40 years, the techniques, processes and methods of software development have been dominated by supply-side issues, giving rise to a software industry oriented towards developers rather than users. To achieve the levels of functionality, flexibility and time-to-market required by users, a radical shift is required in the development of software, with a more demand-centric view, leading to software which will be delivered as a service within the framework of an open marketplace. Already, there are some signs that this approach is being adopted by industry, but in a very limited way. We summarise research and a research method which has resulted in a long-term strategic view of software engineering innovation. Based on this foundation, we describe more recent work, which has resulted in an innovative demand-side model for the future of software. We propose a service architecture in which components may be bound instantly, just at the time they are needed, and then the binding may be discarded. A major benefit of this approach is that it leads to highly flexible and agile software that should be able to meet rapidly changing business needs.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"69 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":"114578580","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.896727
M. Saeki
Software patterns such as gang-of-four (GOF) design patterns are a promising approach for developing software of high quality with less effort. To design larger and complicated software, we often combine design patterns into a larger one, and in this situation obtaining a consistent combination of patterns is important. More concretely, the techniques for checking if the combined patterns are consistently collaborated from a behavioral view is a crucial issue. We propose a technique to define the behavior of the design patterns based on the formal description technique LOTOS (Language of Temporal Ordering Specification). By executing the behavioral descriptions on a LOTOS simulator, we can check the behavioral consistency of the patterns. We also illustrate how our technique works well by using the combination of GOF composite and command patterns.
{"title":"Behavioral specification of GOF design patterns with LOTOS","authors":"M. Saeki","doi":"10.1109/APSEC.2000.896727","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896727","url":null,"abstract":"Software patterns such as gang-of-four (GOF) design patterns are a promising approach for developing software of high quality with less effort. To design larger and complicated software, we often combine design patterns into a larger one, and in this situation obtaining a consistent combination of patterns is important. More concretely, the techniques for checking if the combined patterns are consistently collaborated from a behavioral view is a crucial issue. We propose a technique to define the behavior of the design patterns based on the formal description technique LOTOS (Language of Temporal Ordering Specification). By executing the behavioral descriptions on a LOTOS simulator, we can check the behavioral consistency of the patterns. We also illustrate how our technique works well by using the combination of GOF composite and command patterns.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"32 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":"114332029","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.896738
Jessica Chen
In this paper, we present our study on statically analyzing design artifacts in multithreaded systems to check the correctness with respect to the nondeterministic behavior of the systems. The description of an abstract behavior of a multithreaded system on design stage can be naturally decomposed into the descriptions of the behavior of each thread and the description of the interactions among these threads. We assume that the behavior of each thread is described in terms of synchronizing finite state machine, a special finite state machine whose transitions may contain information about thread synchronization. Such information is expressed by way of some well-known synchronization mechanism from implementation languages. For the moment, we consider synchronization among multiple threads via shared objects, governed by Java monitors. The operational semantics for a network of such synchronizing finite state machines is provided in terms of labeled transition systems. The defined formal model is the basis for formally reasoning about the correctness of the design against certain properties that, due to the nondeterminism involved, may be hard to detect by testing final code.
{"title":"A study on static analysis in network of synchronizing FSMs","authors":"Jessica Chen","doi":"10.1109/APSEC.2000.896738","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896738","url":null,"abstract":"In this paper, we present our study on statically analyzing design artifacts in multithreaded systems to check the correctness with respect to the nondeterministic behavior of the systems. The description of an abstract behavior of a multithreaded system on design stage can be naturally decomposed into the descriptions of the behavior of each thread and the description of the interactions among these threads. We assume that the behavior of each thread is described in terms of synchronizing finite state machine, a special finite state machine whose transitions may contain information about thread synchronization. Such information is expressed by way of some well-known synchronization mechanism from implementation languages. For the moment, we consider synchronization among multiple threads via shared objects, governed by Java monitors. The operational semantics for a network of such synchronizing finite state machines is provided in terms of labeled transition systems. The defined formal model is the basis for formally reasoning about the correctness of the design against certain properties that, due to the nondeterminism involved, may be hard to detect by testing final code.","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":"123624795","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.896733
D. Hartley, N. Churcher, Greg Albertson
Internet and intranet Web sites have become an integral part of software development as well as the wider fields of commercial, educational and recreational activity. In order to improve our understanding of Web based software engineering we must first understand how Web sites are used. Information about the structure and usage of sites is valuable to administrators, maintainers, content developers and users. The volume and complexity of the data generated by typical tools is a major limitation. We describe the use of virtual worlds, including a novel extension of the perspective wall, for visualising Web site activity. Examples from our university environment are presented and discussed.
{"title":"Virtual worlds for Web site visualisation","authors":"D. Hartley, N. Churcher, Greg Albertson","doi":"10.1109/APSEC.2000.896733","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896733","url":null,"abstract":"Internet and intranet Web sites have become an integral part of software development as well as the wider fields of commercial, educational and recreational activity. In order to improve our understanding of Web based software engineering we must first understand how Web sites are used. Information about the structure and usage of sites is valuable to administrators, maintainers, content developers and users. The volume and complexity of the data generated by typical tools is a major limitation. We describe the use of virtual worlds, including a novel extension of the perspective wall, for visualising Web site activity. Examples from our university environment are presented and discussed.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"57 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":"124806051","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}