Pub Date : 2001-12-04DOI: 10.1109/APSEC.2001.991508
Naixiao Zhang, Y. Liu
Garment is a mechanism for abstraction and encapsulation of languages. It aims to make the best support on the definition and implementation of new languages, especially DSLs (Domain Specification Languages). Garment originally provided a unified framework for defining languages and describing relations between languages. The framework is very convenient for defining and describing new languages. However it is not flexible enough to design some similar DSLs. We propose, in recent work, a component-based framework for the design of DSL where software reuse is a very important feature. In this paper, the component-based framework will be briefly introduced. A conceptual analysis of reusability in Garment is also made from the different points of view and different levels here.
{"title":"A component-based framework and reusability in Garment","authors":"Naixiao Zhang, Y. Liu","doi":"10.1109/APSEC.2001.991508","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991508","url":null,"abstract":"Garment is a mechanism for abstraction and encapsulation of languages. It aims to make the best support on the definition and implementation of new languages, especially DSLs (Domain Specification Languages). Garment originally provided a unified framework for defining languages and describing relations between languages. The framework is very convenient for defining and describing new languages. However it is not flexible enough to design some similar DSLs. We propose, in recent work, a component-based framework for the design of DSL where software reuse is a very important feature. In this paper, the component-based framework will be briefly introduced. A conceptual analysis of reusability in Garment is also made from the different points of view and different levels here.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123769680","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991486
Xiaoshan Li, Zhiming Liu, Zhensheng Guo
E-commerce systems have been changing traditional business activities through the Internet. This paper presents a formal use of the Unified Modeling Language (UML) to analyze and design e-commerce systems using an online ticketing system as a case study. An e-commerce system can be seen as a client-server system in which a server maintains some information and provides a searching function to a client. However, for an e-commerce system we also need to consider two specific functions for booking products and carrying out payment transactions. We demonstrate how to use the formalization of UML given by Xiaoshan et al. (2001) in formal specification of the system functional requirements, safety and liveness constraints, and in verification of the correctness of the design.
{"title":"Formal object-oriented analysis and design of an online ticketing system","authors":"Xiaoshan Li, Zhiming Liu, Zhensheng Guo","doi":"10.1109/APSEC.2001.991486","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991486","url":null,"abstract":"E-commerce systems have been changing traditional business activities through the Internet. This paper presents a formal use of the Unified Modeling Language (UML) to analyze and design e-commerce systems using an online ticketing system as a case study. An e-commerce system can be seen as a client-server system in which a server maintains some information and provides a searching function to a client. However, for an e-commerce system we also need to consider two specific functions for booking products and carrying out payment transactions. We demonstrate how to use the formalization of UML given by Xiaoshan et al. (2001) in formal specification of the system functional requirements, safety and liveness constraints, and in verification of the correctness of the design.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"330 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115388269","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991472
R. Venkatesh, Purandar Bhaduri, M. Joseph
Meta-model based development offers a promising way of managing the complexity of industrial scale software development by describing a system in terms of different 'views'. These views can then be described as instances of a single meta-model. Such views are usually not disjoint and it is essential that they are shown to be consistent. A weakness of meta-modelling tools is the lack of support for describing the behaviour of models, and this is central to demonstrating the consistency of views. We address this problem by combining meta-modelling with formal techniques for stating and verifying behavioural properties. In this paper, we describe a formalization of models and meta-models and show how this leads to automated procedures for consistency checking between views in an industrial software development framework.
{"title":"Formalizing models and meta-models for system development extended abstract","authors":"R. Venkatesh, Purandar Bhaduri, M. Joseph","doi":"10.1109/APSEC.2001.991472","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991472","url":null,"abstract":"Meta-model based development offers a promising way of managing the complexity of industrial scale software development by describing a system in terms of different 'views'. These views can then be described as instances of a single meta-model. Such views are usually not disjoint and it is essential that they are shown to be consistent. A weakness of meta-modelling tools is the lack of support for describing the behaviour of models, and this is central to demonstrating the consistency of views. We address this problem by combining meta-modelling with formal techniques for stating and verifying behavioural properties. In this paper, we describe a formalization of models and meta-models and show how this leads to automated procedures for consistency checking between views in an industrial software development framework.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116634026","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991455
Yue Yang, G. Gopalakrishnan, Gary Lindstrom
The current Java memory model is flawed and has many unintended implications. As multithreaded programming becomes increasingly popular in Java and hardware memory architectures become more aggressively parallel, it is of significant importance to provide a framework for formally analyzing the Java memory model. The Mur/spl phi/ verification system is applied to study the commit/reconcile/fence (CRF) memory model, one of the proposed thread semantics to replace the present Java memory model. The CRF proposal is formally specified using the Mur/spl phi/ description language. A suite of test programs is designed to reveal pivotal properties of the model. The results demonstrate the feasibility of applying model checking techniques to language level memory model specifications. Not only can it help the designers to debug their designs, it also provides a formal mechanism for Java programmers to understand the subtleties of the Java memory model.
{"title":"Analyzing the CRF Java memory model","authors":"Yue Yang, G. Gopalakrishnan, Gary Lindstrom","doi":"10.1109/APSEC.2001.991455","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991455","url":null,"abstract":"The current Java memory model is flawed and has many unintended implications. As multithreaded programming becomes increasingly popular in Java and hardware memory architectures become more aggressively parallel, it is of significant importance to provide a framework for formally analyzing the Java memory model. The Mur/spl phi/ verification system is applied to study the commit/reconcile/fence (CRF) memory model, one of the proposed thread semantics to replace the present Java memory model. The CRF proposal is formally specified using the Mur/spl phi/ description language. A suite of test programs is designed to reveal pivotal properties of the model. The results demonstrate the feasibility of applying model checking techniques to language level memory model specifications. Not only can it help the designers to debug their designs, it also provides a formal mechanism for Java programmers to understand the subtleties of the Java memory model.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129315702","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991504
Huadong Ma, Liang Li, Jianzhong Wang, N. Zhan
Duration Calculus (DC), an extension of interval temporal logic, has been shown very powerful and suitable for specifying multimedia protocols. Generally speaking, it is impossible to verify the DC specifications using model-checking because of DC's undecidability. H. Dierks (1999) presented an approach to solving the problem. The main contribution of this paper is improving H. Dierks's algorithm so that it can be used to transform the DC specification of multimedia protocols to the input of the model checker. The basic idea behind this work is that we use general DC to specify multimedia protocols, and the improved H. Dierks' algorithm to transform them to PLC-Automata, further to Timed Automata. Using model-checkers developed for TA, we can verify the correctness of protocols. We shall demonstrate it by Adaptive LSP. For convenience, we use more general forms of DC Implementables, but they can be reduced to the four standard forms given by H. Dierks.
{"title":"Automatic synthesis of the DC specifications of lip synchronisation protocol","authors":"Huadong Ma, Liang Li, Jianzhong Wang, N. Zhan","doi":"10.1109/APSEC.2001.991504","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991504","url":null,"abstract":"Duration Calculus (DC), an extension of interval temporal logic, has been shown very powerful and suitable for specifying multimedia protocols. Generally speaking, it is impossible to verify the DC specifications using model-checking because of DC's undecidability. H. Dierks (1999) presented an approach to solving the problem. The main contribution of this paper is improving H. Dierks's algorithm so that it can be used to transform the DC specification of multimedia protocols to the input of the model checker. The basic idea behind this work is that we use general DC to specify multimedia protocols, and the improved H. Dierks' algorithm to transform them to PLC-Automata, further to Timed Automata. Using model-checkers developed for TA, we can verify the correctness of protocols. We shall demonstrate it by Adaptive LSP. For convenience, we use more general forms of DC Implementables, but they can be reduced to the four standard forms given by H. Dierks.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132181676","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991473
J. Dimitrov
We consider a non-trivial subset of Verilog HDL and construct an operational semantics for it. Only a handful of convenient but nonessential statements are left out for the sake of brevity. However, all challenging parts of the language, including Behavioural and RTL constructs, are considered. The semantics we give is fully parallel unlike the semantics built into most Verilog simulators. This allows us to eliminate all side effects caused by employing nondeterminism instead of parallelism. Another benefit of the parallelism in our framework is the ability to better model real hardware. Several healthiness conditions are proven to support the validity of the proposed semantics. We use these healthiness conditions to formally underpin our understanding of and increase our confidence in the semantics we give.
{"title":"Operational semantics for Verilog","authors":"J. Dimitrov","doi":"10.1109/APSEC.2001.991473","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991473","url":null,"abstract":"We consider a non-trivial subset of Verilog HDL and construct an operational semantics for it. Only a handful of convenient but nonessential statements are left out for the sake of brevity. However, all challenging parts of the language, including Behavioural and RTL constructs, are considered. The semantics we give is fully parallel unlike the semantics built into most Verilog simulators. This allows us to eliminate all side effects caused by employing nondeterminism instead of parallelism. Another benefit of the parallelism in our framework is the ability to better model real hardware. Several healthiness conditions are proven to support the validity of the proposed semantics. We use these healthiness conditions to formally underpin our understanding of and increase our confidence in the semantics we give.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121232359","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991506
Ying Zou, K. Kontogiannis
With the rapid growth of the Internet and pervasive computing activities, the migration of back-end legacy systems to network centric environments has become a focal point for researchers and practitioners alike. To leverage back-end legacy services into Web-enabled environments, this paper proposes an incremental and iterative migration framework where legacy procedural source code is reengineered into an object-oriented platform. The reengineering framework allows for the representation of the legacy source in the form of XML based annotated abstract syntax trees. Consequently, the extraction of an object-oriented model from the original source code is based on the analysis of source code features in the original system that can be used to identify classes, associations, aggregations, and polymorphic patterns in the new target system.
{"title":"A framework for migrating procedural code to object-oriented platforms","authors":"Ying Zou, K. Kontogiannis","doi":"10.1109/APSEC.2001.991506","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991506","url":null,"abstract":"With the rapid growth of the Internet and pervasive computing activities, the migration of back-end legacy systems to network centric environments has become a focal point for researchers and practitioners alike. To leverage back-end legacy services into Web-enabled environments, this paper proposes an incremental and iterative migration framework where legacy procedural source code is reengineered into an object-oriented platform. The reengineering framework allows for the representation of the legacy source in the form of XML based annotated abstract syntax trees. Consequently, the extraction of an object-oriented model from the original source code is based on the analysis of source code features in the original system that can be used to identify classes, associations, aggregations, and polymorphic patterns in the new target system.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126464026","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991471
D. Damian
The software development world is experiencing an irreversible trend towards the globalization of business. This creates the need for a thorough understanding of collaborative activities such as requirements engineering and design of software in distributed development environments. The requirements conflicts and tradeoffs are critical aspects that occur throughout software development and we, as software engineers, need to better understand the technological impacts on the performance of groups resolving requirements issues in distributed development structures. In this paper lessons learned from an exploratory study of requirements meetings in which stakeholders participate from remote sites are reported. Evidence not only shows that distributed requirements engineering is supported by current multimedia meeting systems but also reveals aspects that enabled the distributed communication of stakeholders to be more effective in achieving agreements integrative of each stakeholder's interests and needs. Practical implications of the results and recommendations for the software industry in enabling effective distributed requirements meetings are outlined.
{"title":"An empirical study of requirements engineering in distributed software projects: is distance negotiation more effective?","authors":"D. Damian","doi":"10.1109/APSEC.2001.991471","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991471","url":null,"abstract":"The software development world is experiencing an irreversible trend towards the globalization of business. This creates the need for a thorough understanding of collaborative activities such as requirements engineering and design of software in distributed development environments. The requirements conflicts and tradeoffs are critical aspects that occur throughout software development and we, as software engineers, need to better understand the technological impacts on the performance of groups resolving requirements issues in distributed development structures. In this paper lessons learned from an exploratory study of requirements meetings in which stakeholders participate from remote sites are reported. Evidence not only shows that distributed requirements engineering is supported by current multimedia meeting systems but also reveals aspects that enabled the distributed communication of stakeholders to be more effective in achieving agreements integrative of each stakeholder's interests and needs. Practical implications of the results and recommendations for the software industry in enabling effective distributed requirements meetings are outlined.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125707126","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991462
Jong-Kook Lee, Seung Jae Seung, Soo Dong Kim, Woo Hyun, D. Han
Since the introduction of component-based development (CBD), an effective component identification technique is an important factor for successful CBD projects. As in the CORBA component model of OMG, a component consists of one or more related objects, carrying out a homogeneous functionality. Most of the CBD methodologies utilize UML as the basic notational convention. A component diagram or its variation is used to depict components. However, current CBD methodologies lack a systematic component identification algorithm that can be effectively used to group related use-cases and classes into components. In this paper, we introduce a component identification method that considers component coupling, cohesion, dependency, interface, granularity, and architecture. We also provide a case study on a large-scale real CBD project, in which the proposed method was applied.
{"title":"Component identification method with coupling and cohesion","authors":"Jong-Kook Lee, Seung Jae Seung, Soo Dong Kim, Woo Hyun, D. Han","doi":"10.1109/APSEC.2001.991462","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991462","url":null,"abstract":"Since the introduction of component-based development (CBD), an effective component identification technique is an important factor for successful CBD projects. As in the CORBA component model of OMG, a component consists of one or more related objects, carrying out a homogeneous functionality. Most of the CBD methodologies utilize UML as the basic notational convention. A component diagram or its variation is used to depict components. However, current CBD methodologies lack a systematic component identification algorithm that can be effectively used to group related use-cases and classes into components. In this paper, we introduce a component identification method that considers component coupling, cohesion, dependency, interface, granularity, and architecture. We also provide a case study on a large-scale real CBD project, in which the proposed method was applied.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133218898","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}