{"title":"Design of rules for transforming UML sequence diagrams into Java code","authors":"Mathupayas Thongmak, P. Muenchaisri","doi":"10.1109/APSEC.2002.1183052","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1183052","url":null,"abstract":"UML is a modeling language that most developers employed during the design phase. UML provides various types of diagrams used for specifying both the structure and the behavior of systems. During the development process, models specified by these diagrams are eventually transformed into corresponding code. Although there is much research on transforming UML models into code, they discuss mainly the class, state and collaboration diagrams. None propose rules for transforming UML sequence diagrams into a corresponding code. This paper proposes a transformation approach for transforming UML sequence and class diagrams into Java code. The transformation approach consists of a meta model for sequence diagram and transformation rules. The proposed approach is evaluated by applying it to at least three applications.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114416402","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}
{"title":"Theme-based literate programming","authors":"Andreas Kacofegitis, N. Churcher","doi":"10.1109/APSEC.2002.1183079","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1183079","url":null,"abstract":"The source code for computer programs is destined to be read by compilers and consequently its internal structure is heavily constrained. The compiler neither knows nor cares about such things as a program's internal structure, the relationships between its components and their specifications, the way design patterns are instantiated, the best way to explain its algorithms or how it is intended to be used. People do. Literate programming (LP) was invented by Donald Knuth as a way to address such problems. The idea is appealing but LP has not been adopted widely: the lack of good tools, difficulties with object-oriented languages and the limitations of a single psychological order are among the reasons. We report the development of theme-based literate programming (TBLP). Themes are extremely flexible: they may be aimed at particular reader groups or represent aspects of the program. Features of TBLP include an extended chunk model which accommodates a richer variety of types, an extended connection model which allows chunks to be threaded together into multiple themes, an enhanced processing model which generalises tangling and weaving and a chunk-level version management system. XML is used to represent the web structure and XML-based technologies such as XSLT are used in processing. This provides flexibility and extensibility, allowing users to define new chunk types. An application which implements TBLP is presented and the integration of TBLP with software engineering processes is discussed.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130527496","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}
{"title":"A measurement based comparative evaluation of effectiveness of object-oriented versus conventional procedural programming techniques and languages","authors":"Aftab Ahmad, M. Talha","doi":"10.1109/APSEC.2002.1183072","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1183072","url":null,"abstract":"Many assumptions have been made about positive effects of the object-oriented paradigm on software quality. It has been also widely assumed that the object-oriented programming technique is more powerful than the conventional procedural programming technique and object-based languages provide abstraction far better than procedural languages. However, in reality little or no empirical evidence has been given to support these assumptions. Therefore, there is a desperate need for a quantitative-based comparative evaluation of merits of object-oriented versus conventional procedural program design methods and languages. This paper reports on a pioneer work in this direction. The paper describes the results of the application of well-established software metrics on data-collection through controlled experimentation, where forty subjects developed program samples in Java and C languages for the solution of the same set of problems via object-oriented and procedural structured program design methods respectively. Three important aspects of program quality known as program difficulty, effort to comprehend implementation of the algorithm and level of languages have been measured from Java and C programs using well established and recognized software science metrics.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130574995","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}
{"title":"Animation of data refinements","authors":"N. J. Robinson, C. Fidge","doi":"10.1109/APSEC.2002.1182983","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1182983","url":null,"abstract":"Refinement is the process of deriving verifiably-correct software from its specification. In practice, however refinement steps are complex and difficult to prove correct. We show how animation can be used to provide insights into the correctness, or otherwise, of refinement steps for the most general form of data refinement in which the whole system design can be changed in a single step.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126505015","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}
{"title":"A recommendation system for software function discovery","authors":"Naoki Ohsugi, Akito Monden, Ken-ichi Matsumoto","doi":"10.1109/APSEC.2002.1182994","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1182994","url":null,"abstract":"Since some application software provides users with too many functions, it is often difficult to find those that are useful. This paper proposes a recommendation system based on a collaborative filtering approach to let users discover useful functions at low cost for the purpose of improving productivity when using application software. The proposed system automatically collects histories of software function execution (usage histories) from many users through the Internet. Based on the collaborative filtering approach, collected histories are used for recommending a set of candidate functions that may be useful to the individual user. This paper illustrates conventional filtering algorithms and proposes a new algorithm suitable for recommendation of software functions. The result of an experiment with a prototype recommendation system showed that the average ndpm of our algorithm was smaller than that of conventional algorithms, and it also showed that the standard deviation of ndpm of our algorithm was smaller than that of conventional algorithms. Furthermore, while every conventional algorithm had a case whose recommendation was worse than the random algorithm, our algorithm did not.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"156 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115583655","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}
{"title":"Contextual matching of software library components","authors":"C. Fidge","doi":"10.1109/APSEC.2002.1182999","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1182999","url":null,"abstract":"Many automated programming environments construct software by integrating predefined components from a software library. A fundamental challenge in this process is to match the programmer's specified requirements against the stated capabilities of the components. We explain how the chances of successfully achieving a match can be increased by taking the program context surrounding each requirement into consideration. Formal rules, based on program refinement theory, are defined for context-based matching. The rules allow properties that can be proven to hold at a particular point in the program to justify matching with components that operate correctly only in such a context.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114874994","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}
{"title":"A communication workload estimation model based on relationships among shared works for software development projects","authors":"N. Hanakawa, Ken-ichi Matsumoto, K. Torii","doi":"10.1109/APSEC.2002.1183093","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1183093","url":null,"abstract":"Software development project managers have already known that adding manpower to a late software project makes it later. This is a famous sentence in \"Mythical man-month\" written by Brooks (1975). The managers also recognize that even if two man-month workloads are assigned to two developers, the development period is not one month. However, the managers want to see when the two developers finish the two man-months workload. Of course, the managers don't think that the development period reduces from two months to one month. If the development period in the two developers is shorter than two months, the managers will decide to add the new developer to the work. Therefore, we propose a new workload estimation model based on communications among shared works. The model includes the Concept Model of UML of a software development project. The classes and relationships in the Concept Model present the kinds of works and relationships among the works, respectively. Sharing works causes increments of communication workload. The communication workload is derived from the relationships among the classes in the Concept Model. In case studies using the model, we were able to reconfirm quantitatively the famous sentence of \"Mythical man-month\".","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116330211","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}
{"title":"Formal synthesis and code generation of real-time embedded software using time-extended quasi-static scheduling","authors":"Pao-Ann Hsiung, Trong-Yen Lee, F. Su","doi":"10.1109/APSEC.2002.1183009","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1183009","url":null,"abstract":"The rapid escalation in complexity of real-time embedded systems design has made embedded software an integral system part such that formal software synthesis has become an indispensable design automation technique. The current work takes one more step forward in this research direction by proposing a formal synthesis method for complex real-time embedded software. Compared to previous work, our method not only synthesizes embedded software with complex interrelated branching choices for execution within a user-given memory bound, but also tries to guarantee the satisfaction of all user-given local and global time constraints. Our proposed method called time-extended quasi-static scheduling (TEQSS) synthesizes real-time embedded software code from a set of time complex-choice Petri nets. The two most important issues in real-time embedded software, namely memory and time constraints are both elegantly and efficiently handled by TEQSS. We show the feasibility of our method through a master-slave role switch application which is a part of the Bluetooth wireless communication protocol.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128750030","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}
{"title":"E-science experiences: software engineering practice and the EU DataGrid","authors":"L. Momtahan, Andrew P. Martin","doi":"10.1109/APSEC.2002.1182996","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1182996","url":null,"abstract":"The conduct of collaborative scientific study mediated by the internet -e-science - is giving rise to a new type of large distributed software project. This paper reports initial experiences of one such project: the European DataGrid. We record observations about the intended lifecycle and process, compared with actual practice. The paper explores the applicability of current software development practices from academic, commercial, and open source sectors in the context of such Grid projects.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"08 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128204961","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}
{"title":"IBistro: a learning environment for knowledge construction in distributed software engineering courses","authors":"Andreas Braun, A.H. Dutoit, A. Harrer, B. Brügge","doi":"10.1109/APSEC.2002.1182989","DOIUrl":"https://doi.org/10.1109/APSEC.2002.1182989","url":null,"abstract":"We have taught several distributed software engineering project courses with students and real clients. During these projects, students in Pittsburgh and Munich, Germany collaborated in the development of a single system. Our experiences showed that software development is communication intensive and requires the collaboration of many stakeholders. Communication is challenging in distributed contexts: participants do not all know each other and work at different times and locations; the number of participants and their organization change during the project; and participants belong to different communities. Hence, to deal with the global marketplace, it is critical to provide students with distributed collaboration skills. To improve the teaching of collaboration in software engineering, we propose iBistro, an augmented, distributed, and ubiquitous communication space. iBistro aims to overcome problems resulting from miscommunications and information loss in informal or casual meetings. iBistro enables distributed groups to collaborate and cooperate in software projects and therefore provides an environment for learning in diverse aspects such as project management, programming skills, and social skills. With the addition of techniques from artificial intelligence, such as student modeling, and intelligent support mechanisms, such as computer supported group formation, distributed tutoring becomes feasible.","PeriodicalId":132364,"journal":{"name":"Ninth Asia-Pacific Software Engineering Conference, 2002.","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127136508","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}