Pub Date : 2000-12-05DOI: 10.1109/APSEC.2000.896715
V. Carchiolo, S. D'Ambra, A. Longheu, M. Malgeri
Current manufacturing systems have a very structured production model, especially when high complexity and precision is required, as in semiconductor device manufacturing. In addition, rapid changes in both production and market requirements may occur, hence such models should also provide great flexibility. In this case study paper we introduce the model used inside STMicroelectronics facilities to define production flow, which is the sequence of operations to be performed in order to make products. We present the main characteristics of the model, focusing in particular on its object-oriented approach, with aggregational and constitutional hierarchies used to model all entities. We also introduce two flexible inheritance mechanisms used to speed-up and improve the definition of a production flow, finally presenting in detail objects finite state machine used to model their behaviour.
{"title":"Issues in object orienting the ST Microelectronics manufacturing model","authors":"V. Carchiolo, S. D'Ambra, A. Longheu, M. Malgeri","doi":"10.1109/APSEC.2000.896715","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896715","url":null,"abstract":"Current manufacturing systems have a very structured production model, especially when high complexity and precision is required, as in semiconductor device manufacturing. In addition, rapid changes in both production and market requirements may occur, hence such models should also provide great flexibility. In this case study paper we introduce the model used inside STMicroelectronics facilities to define production flow, which is the sequence of operations to be performed in order to make products. We present the main characteristics of the model, focusing in particular on its object-oriented approach, with aggregational and constitutional hierarchies used to model all entities. We also introduce two flexible inheritance mechanisms used to speed-up and improve the definition of a production flow, finally presenting in detail objects finite state machine used to model their behaviour.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"61 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":"116715012","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.896710
Anthony Cox, C. Clarke
Many program maintenance tools rely on traditional parsing techniques to obtain syntactic level models of the code being maintained. When, for some reason, code cannot be parsed, software maintainers are forced to fall back on ad hoc tools and techniques, such as grep. As an alternative, hierarchical lexical analysis augmented with simple data structures can be used to extract an approximation of the abstract syntax for a source file. Experiments indicate that such an approach is feasible and produces results comparable to those obtained using a parser.
{"title":"A comparative evaluation of techniques for syntactic level source code analysis","authors":"Anthony Cox, C. Clarke","doi":"10.1109/APSEC.2000.896710","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896710","url":null,"abstract":"Many program maintenance tools rely on traditional parsing techniques to obtain syntactic level models of the code being maintained. When, for some reason, code cannot be parsed, software maintainers are forced to fall back on ad hoc tools and techniques, such as grep. As an alternative, hierarchical lexical analysis augmented with simple data structures can be used to extract an approximation of the abstract syntax for a source file. Experiments indicate that such an approach is feasible and produces results comparable to those obtained using a parser.","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":"129353362","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.896735
V. Mišić
Traditionally, cohesion of a software component is evaluated as the similarity of its constituent parts. It may be more appropriate to measure functional coherence, or coherence of usage of a component, by analyzing external usage patterns of component's clients. We define an appropriate measure, starting from a generic system model and its associated mechanism for calculating object sizes. We show that the new measure satisfies some, but not all, of the properties that a cohesion measure is expected to satisfy. We also provide some intuitive examples to illustrate the concept and its possible uses.
{"title":"Coherence equals cohesion-or does it?","authors":"V. Mišić","doi":"10.1109/APSEC.2000.896735","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896735","url":null,"abstract":"Traditionally, cohesion of a software component is evaluated as the similarity of its constituent parts. It may be more appropriate to measure functional coherence, or coherence of usage of a component, by analyzing external usage patterns of component's clients. We define an appropriate measure, starting from a generic system model and its associated mechanism for calculating object sizes. We show that the new measure satisfies some, but not all, of the properties that a cohesion measure is expected to satisfy. We also provide some intuitive examples to illustrate the concept and its possible uses.","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":"130075059","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.896680
B. Brügge, A.H. Dutoit, R. Kobylinski, Gunter Teubner
Communication and collaboration is difficult in geographically distributed settings. As a result of globalization, mergers and acquisitions, and scarce skills, software development projects are increasingly more distributed. Hence, teaching software engineering students how to cope with distribution becomes a critical issue. This paper describes our experience with teaching three distributed software engineering project courses. Students from Carnegie Mellon University in Pittsburgh, USA and from Technische Universita/spl uml/t Mu/spl uml/nchen in Munich, Germany, collaborated to specify, design and realize software for a real client located at a third site. In doing so, students were exposed first hand to distribution issues, encountering challenges introduced by different cultures, languages, standards and time zones, and facing them with tools such as groupware, videoconferencing, distributed repositories and travel. We conclude this paper with the lessons we learned during these three experiences and the improvements we plan for our next distributed project course.
{"title":"Transatlantic project courses in a university environment","authors":"B. Brügge, A.H. Dutoit, R. Kobylinski, Gunter Teubner","doi":"10.1109/APSEC.2000.896680","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896680","url":null,"abstract":"Communication and collaboration is difficult in geographically distributed settings. As a result of globalization, mergers and acquisitions, and scarce skills, software development projects are increasingly more distributed. Hence, teaching software engineering students how to cope with distribution becomes a critical issue. This paper describes our experience with teaching three distributed software engineering project courses. Students from Carnegie Mellon University in Pittsburgh, USA and from Technische Universita/spl uml/t Mu/spl uml/nchen in Munich, Germany, collaborated to specify, design and realize software for a real client located at a third site. In doing so, students were exposed first hand to distribution issues, encountering challenges introduced by different cultures, languages, standards and time zones, and facing them with tools such as groupware, videoconferencing, distributed repositories and travel. We conclude this paper with the lessons we learned during these three experiences and the improvements we plan for our next distributed project course.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"2016 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":"134456872","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.896682
Judy Brown
Workload issues in computer science project courses are addressed. We briefly discuss why high workloads occur in project courses and the reasons they are a problem. We then describe some course changes we made to reduce the workload in a software engineering project course, without compromising course quality. The techniques include: adopting an iterative and incremental process, reducing the requirements for writing documents, and gathering accurate data on time spent on various activities. We conclude by assessing the techniques, providing good evidence for a dramatic change in the workload, and an increase in student satisfaction levels. We provide some evidence, and an argument, that learning has not been affected by the changes.
{"title":"Bloodshot eyes: workload issues in computer science project courses","authors":"Judy Brown","doi":"10.1109/APSEC.2000.896682","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896682","url":null,"abstract":"Workload issues in computer science project courses are addressed. We briefly discuss why high workloads occur in project courses and the reasons they are a problem. We then describe some course changes we made to reduce the workload in a software engineering project course, without compromising course quality. The techniques include: adopting an iterative and incremental process, reducing the requirements for writing documents, and gathering accurate data on time spent on various activities. We conclude by assessing the techniques, providing good evidence for a dramatic change in the workload, and an increase in student satisfaction levels. We provide some evidence, and an argument, that learning has not been affected by the changes.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"757 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":"133908777","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.896705
Soon-Kyeong Kim, D. Carrington
Presents a framework that integrates a graphical specification technique (UML) with a formal specification technique (Object-Z) to support requirements elicitation and analysis activities. Various UML diagrams are used to specify the system from different concerns during the early requirements elicitation and analysis stage. The information captured in the diagrams is used to develop a complete Object-Z specification. This paper presents a semantic translation from statechart diagrams to Object-Z specifications. Finally, based on information captured in sequence diagrams and use case diagrams, a functional model of the whole system is formally defined. The case study used in this paper is a real-time, interactive and embedded system: a light control system.
{"title":"An integrated framework with UML and Object-Z for developing a precise and understandable specification: the light control case study","authors":"Soon-Kyeong Kim, D. Carrington","doi":"10.1109/APSEC.2000.896705","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896705","url":null,"abstract":"Presents a framework that integrates a graphical specification technique (UML) with a formal specification technique (Object-Z) to support requirements elicitation and analysis activities. Various UML diagrams are used to specify the system from different concerns during the early requirements elicitation and analysis stage. The information captured in the diagrams is used to develop a complete Object-Z specification. This paper presents a semantic translation from statechart diagrams to Object-Z specifications. Finally, based on information captured in sequence diagrams and use case diagrams, a functional model of the whole system is formally defined. The case study used in this paper is a real-time, interactive and embedded system: a light control system.","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":"133547524","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.896681
P. Layzell, P. Brereton, A. French
Software engineering is no longer the preserve of individuals but is essentially a team-based activity involving a wide variety of stakeholders and thus making the need for communication and co-operation an inherent characteristic. Changes in support technology, economic factors and globalisation of the software process is resulting in the geographical separation of personnel. Where such distribution of personnel occurs, it is clear that the quality of the project will be dependent upon the degree of effective communication and co-operation. This paper presents the results from a study of communication and co-operation practices on a range of distributed software projects from an industrial and educational context. It analyses the advantages and disadvantages of distributed software engineering teams and presents the lessons learned from these studies, including team structure, project management, communication and procedures.
{"title":"Supporting collaboration in distributed software engineering teams","authors":"P. Layzell, P. Brereton, A. French","doi":"10.1109/APSEC.2000.896681","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896681","url":null,"abstract":"Software engineering is no longer the preserve of individuals but is essentially a team-based activity involving a wide variety of stakeholders and thus making the need for communication and co-operation an inherent characteristic. Changes in support technology, economic factors and globalisation of the software process is resulting in the geographical separation of personnel. Where such distribution of personnel occurs, it is clear that the quality of the project will be dependent upon the degree of effective communication and co-operation. This paper presents the results from a study of communication and co-operation practices on a range of distributed software projects from an industrial and educational context. It analyses the advantages and disadvantages of distributed software engineering teams and presents the lessons learned from these studies, including team structure, project management, communication and procedures.","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":"132409613","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.896716
Karl R. P. H. Leung
Statecharts is a good tool for modeling reactive systems. It models systems by means of states and transitions. Inherited from its ancestor the state diagram, the states and transitions have to be known in advance. In many reactive systems, such as Web navigation, states and transitions may not be known in advance. Multi-thread processing is also popular in dynamic reactive systems. These features are unable to be modeled by Statecharts properly. We discuss our extension of Statecharts to support these features in this paper. States and transitions are allowed to be added to the Statecharts during run time. These adding of states and transitions have to follow some rules. These rules are used to preserve the original Statecharts interpretation mechanism and avoid the unnecessary expansion. A transition is also allowed to lead to a Statechart. Together with the orthogonal construct of Statecharts, multi-thread systems can be modeled. We found these extensions fit very well in modeling dynamic reactive systems like Web navigation.
{"title":"Extending Statecharts with ad lib and multi-thread features","authors":"Karl R. P. H. Leung","doi":"10.1109/APSEC.2000.896716","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896716","url":null,"abstract":"Statecharts is a good tool for modeling reactive systems. It models systems by means of states and transitions. Inherited from its ancestor the state diagram, the states and transitions have to be known in advance. In many reactive systems, such as Web navigation, states and transitions may not be known in advance. Multi-thread processing is also popular in dynamic reactive systems. These features are unable to be modeled by Statecharts properly. We discuss our extension of Statecharts to support these features in this paper. States and transitions are allowed to be added to the Statecharts during run time. These adding of states and transitions have to follow some rules. These rules are used to preserve the original Statecharts interpretation mechanism and avoid the unnecessary expansion. A transition is also allowed to lead to a Statechart. Together with the orthogonal construct of Statecharts, multi-thread systems can be modeled. We found these extensions fit very well in modeling dynamic reactive systems like Web navigation.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"4 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":"125573955","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.896709
L. Groves
This paper presents a systematic approach to implementing certain kinds of program modifications, in which (conceptually at least) the modification is implemented as a separate program and then integrated with the original program using semantically based transformations. This approach allows us to ensure that the required modification is implemented correctly and also allows us to explore different ways of implementing a given modification. The approach is illustrated informally using an example where the modification can be implemented in two distinct ways, and then formalised within the refinement calculus by defining a program conjunction operator whose properties justify the transformations required in the example.
{"title":"A formal approach to program modification","authors":"L. Groves","doi":"10.1109/APSEC.2000.896709","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896709","url":null,"abstract":"This paper presents a systematic approach to implementing certain kinds of program modifications, in which (conceptually at least) the modification is implemented as a separate program and then integrated with the original program using semantically based transformations. This approach allows us to ensure that the required modification is implemented correctly and also allows us to explore different ways of implementing a given modification. The approach is illustrated informally using an example where the modification can be implemented in two distinct ways, and then formalised within the refinement calculus by defining a program conjunction operator whose properties justify the transformations required in the example.","PeriodicalId":404621,"journal":{"name":"Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000","volume":"35 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":"126429563","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.896692
S. Biffl
Inspection of software documents is an effective quality assurance measure to detect defects in the early stages of software development. It can provide timely feedback on product quality to both developers and managers. This paper reports on a controlled experiment that investigated the influence of reading techniques and inspector capability on individual effectiveness to find given sets of defects in a requirements specification document. Experimental results support the hypothesis that reading techniques can direct inspectors' attention towards inspection targets, i.e. on specific document parts or severity levels, which enables inspection planners to divide the inspection work among several inspectors. Further, they suggest a tradeoff between specific and general detection effectiveness regarding document coverage and inspection effort. Inspector capability plays a significant role in inspection performance, while the size of the effect varies with the reading technique employed and the inspected document part.
{"title":"Analysis of the impact of reading technique and inspector capability on individual inspection performance","authors":"S. Biffl","doi":"10.1109/APSEC.2000.896692","DOIUrl":"https://doi.org/10.1109/APSEC.2000.896692","url":null,"abstract":"Inspection of software documents is an effective quality assurance measure to detect defects in the early stages of software development. It can provide timely feedback on product quality to both developers and managers. This paper reports on a controlled experiment that investigated the influence of reading techniques and inspector capability on individual effectiveness to find given sets of defects in a requirements specification document. Experimental results support the hypothesis that reading techniques can direct inspectors' attention towards inspection targets, i.e. on specific document parts or severity levels, which enables inspection planners to divide the inspection work among several inspectors. Further, they suggest a tradeoff between specific and general detection effectiveness regarding document coverage and inspection effort. Inspector capability plays a significant role in inspection performance, while the size of the effect varies with the reading technique employed and the inspected document part.","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":"125497678","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}