{"title":"Verifying metamodel coverage of model transformations","authors":"Junhua Wang, Soon-Kyeong Kim, D. Carrington","doi":"10.1109/ASWEC.2006.55","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.55","url":null,"abstract":"Since the object management group (OMG) commenced its model driven architecture (MDA) initiative, there has been considerable activity proposing and building automatic model transformation systems to help implement the MDA concept. Much less attention has been given to the need to ensure that model transformations generate the intended results. This paper explores one aspect of validation and verification for MDA: coverage of the source and/or target metamodels by a set of model transformations. The paper defines the property of metamodel coverage and some corresponding algorithms. This property helps the user assess which parts of a source (or target) metamodel are referenced by a given model transformation set. Some results are presented from a prototype implementation that is built on the eclipse modeling framework (EMF).","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131063510","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":"Tailoring of black-box testing methods","authors":"T. Murnane, K. Reed, R. Hall","doi":"10.1109/ASWEC.2006.49","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.49","url":null,"abstract":"Currently, black-box testing methods are effective yet incomplete. Consequently, test engineers may find it necessary to perform ad hoc customisation for each application under test. In this paper, we present procedures for customising black-box methods that model such \"error guessing\" in a reproducible and reusable way. As a preliminary evaluation, we customise a generalised representation of black-box methods and compare the effectiveness of the resulting test cases with those derived by two existing methods. Our procedures facilitate the development of both domain-specific and novel experimental black-box methods","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":" 13","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120934811","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":"Model-based runtime analysis of distributed reactive systems","authors":"A. Bauer, M. Leucker, C. Schallhart","doi":"10.1109/ASWEC.2006.36","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.36","url":null,"abstract":"Reactive distributed systems have pervaded everyday life and objects, but often lack measures to ensure adequate behaviour in the presence of unforeseen events or even errors at runtime. As interactions and dependencies within distributed systems increase, the problem of detecting failures which depend on the exact situation and environment conditions they occur in grows. As a result, not only the detection of failures is increasingly difficult, but also the differentiation between the symptoms of a fault, and the actual fault itself, i.e., the cause of a problem. In this paper, we present a novel and efficient approach for analysing reactive distributed systems at runtime, in that we provide a framework for detecting failures as well as identifying their causes. Our approach is based upon monitoring safety-properties, specified in the linear time temporal logic LTL (respectively, TLTL) to automatically generate monitor components which detect violations of these properties. Based on the results of the monitors, a dedicated diagnosis is then performed in order to identify explanations for the misbehaviour of a system. These may be used to store detailed log files, or to trigger recovery measures. Our framework is built modular, layered, and uses merely a minimal communication overhead - especially when compared to other, similar approaches. Further, we sketch first experimental results from our implementations, and describe how it can be used to build a variety of distributed systems using our techniques.","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121499001","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":"Design of agent-oriented pattern templates","authors":"Ayodele Oluyomi, S. Karunasekera, L. Sterling","doi":"10.1109/ASWEC.2006.24","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.24","url":null,"abstract":"Software patterns have potential to enhance the comprehension, application and communication of agent oriented software concepts. To realize this potential, agent oriented patterns should be appropriately described with the aid of good pattern templates. However, many of the existing descriptions of agent patterns lack certain features that are critical to the description of agent patterns. In this paper, we present a design for agent oriented pattern templates. We present two templates built according to our design that we believe improve on the description of agent patterns. The InteRRaP agent architectural pattern and Contract Net agent interaction pattern are presented using these templates.","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126419564","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":"Factors affecting software testing time schedule","authors":"Ossi Taipale, H. Kälviäinen, K. Smolander","doi":"10.1109/ASWEC.2006.27","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.27","url":null,"abstract":"The objective of this study was to identify and model constructs associated with over-runs in software testing time schedules. 40 industry experts from 30 organizational units were interviewed and conclusions were made using regression analysis. The analysis revealed that increased communication and interaction in the design phase between development and testing are associated with time schedule over-runs. This unexpected result may be either a consequence of more comprehensive testing with increased communication and interaction, leading to time schedule over-runs, or the testing time schedule is adjusted under project pressure because of underestimated testing resource needs. Lack of testing know-how was also associated with testing time schedule over-runs. The results of this study can be utilized in planning software testing time schedules.","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"115 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114364597","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}
D. Cooper, Mun Wai Chan, Gautam Mehra, Peter Woodward, B. V. Konsky, M. Robey, Michael Harding
{"title":"Using dependence graphs to assist manual and automated object oriented software inspections","authors":"D. Cooper, Mun Wai Chan, Gautam Mehra, Peter Woodward, B. V. Konsky, M. Robey, Michael Harding","doi":"10.1109/ASWEC.2006.53","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.53","url":null,"abstract":"Many researchers have demonstrated the value of software inspections in finding and fixing defects early in the development process. However, manual inspection can be a labour-intensive process. We present a tool that applies dependence graphs to aid object oriented software inspection. Our tool, Coffee Grinder, uses control and data dependence graphs both to immediately visualise a Java system and to facilitate the development of scripts to find defects or locate areas of potential inspection interest. These scripts can output results textually or graphically. We present the design of Coffee Grinder and several example scripts. Coffee Grinder illustrates the case for extensible tool support in the software inspection process","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129860991","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":"Evaluating software refactoring tool support","authors":"E. Mealy, P. Strooper","doi":"10.1109/ASWEC.2006.26","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.26","url":null,"abstract":"Up to 75% of the costs associated with the development of software systems occur post-deployment during maintenance and evolution. Software refactoring is a process that can significantly reduce the costs associated with software evolution. Refactoring is defined as internal modification of source code to improve system quality, without change to observable behaviour. Tool support for software refactoring attempts to further reduce evolution costs by automating manual, error-prone and tedious tasks. Although the process of refactoring is well-defined, tools supporting refactoring do not support the full process. Existing tools suffer from issues associated with the level of automation, the stages of the refactoring process supported or automated, the subset of refactorings that can be applied, and complexity of the supported refactorings. This paper presents a framework for evaluating software refactoring tool support based on the DESMET method. For the DESMET application, a functional analysis of the requirements for supporting software refactoring is used in conjunction with a case study. This evaluation was completed to assess the support provided by six Java refactoring tools and to evaluate the efficacy of using the DESMET method for evaluating refactoring tools.","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129343717","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 refinement of informal GUI design artefacts","authors":"Judy Bowen, S. Reeves","doi":"10.1109/ASWEC.2006.28","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.28","url":null,"abstract":"Before we build any piece of software we would, surely, need to be certain that what we intend to build is what is required by the users of that software. In addition, we would want to be sure that the proposed software will behave as expected, do the right thing under all circumstances and also be usable. These functional and usability requirements are often considered separately. The functional requirements may be considered by way of formal specifications or models which are then subjected to verification and validation to ensure that the required properties hold. Similarly, the usability and user requirements may be captured using task analysis methods and checked by design methods such as GOMS, scenario development and usability testing of incremental prototypes. This paper looks at one way of bringing these two processes together by including the graphical user interface (GUI) design process and design concerns in the formal process of specification and refinement. In particular it considers what it means for a prototype of a GUI to be considered as a formal refinement of a specification. In this paper we show how we can consider the visual display, or presentation, of the GUI as the refinement, rather than the code which produces that presentation, and how this allows us to apply standard and well-known refinement techniques to informal design artefacts","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129165907","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":"Optimising Web services performance with table driven XML","authors":"Alex Ng","doi":"10.1109/ASWEC.2006.37","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.37","url":null,"abstract":"The performance of the SOAP protocol has often been regarded relatively poor and requiring undue amounts of processor time, storage and bandwidth due to its use of text-based, metadata-laden XML encoding. There are many proposals available to tackle this perceived problem, however none of these coherently consider the different aspects of the problem: (1) message size; (2) message structure; (3) accessing individual elements; and (4) interoperability with other Web services protocols. The technique proposed in this paper: Table driven XML (TDXML) takes such a coherent view and offers more compact messages, simpler message structure and easier access to individual elements when compared to conventional SOAP. TDXML also enables keyed access to individual elements to enable single pass message parsing for improved object serialisation and deserialisation. Experimental studies show that TDXML can be incorporated easily into a commercially available SOAP implementation with 30% improved latency performance. Furthermore, this paper reports that TDXML can also be implemented with other transport mechanisms and provide even better performance (over 100%) than SOAP in regard to network bandwidth and latency.","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130257880","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":"Lock selection made easy","authors":"Abdelsalam Shanneb, John Michael Potter","doi":"10.1109/ASWEC.2006.33","DOIUrl":"https://doi.org/10.1109/ASWEC.2006.33","url":null,"abstract":"With the advent of multiprocessors on the desktop, software applications are increasingly likely to adopt multithreaded architectures. To cope with the complexity of concurrent systems, programmers build systems from thread-safe components. This produces excessive and redundant locking, restricting the potential for concurrency within the system. Rather than deploying individual thread-safe components, we advocate deferring the deployment of locks until the code dependencies are known. This avoids redundant locking, and allows the granularity of concurrency to be chosen in a flexible way. In earlier work we identified a formal relationship, known as a Galois connection, between the potential for concurrency in a composite system and the locking requirements for its components. This paper explores further properties of this relationship, and demonstrates how lock selection can be made easy with appropriate tool support","PeriodicalId":285684,"journal":{"name":"Australian Software Engineering Conference (ASWEC'06)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132773194","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}