{"title":"Knowledge-based synthesis of numerical programs for simulation of rigid-body systems in physics-based animation","authors":"T. Ellman, Ryan Deak, Jason Fotinatos","doi":"10.1109/ASE.2002.1114998","DOIUrl":"https://doi.org/10.1109/ASE.2002.1114998","url":null,"abstract":"Physics-based animation programs are important in a variety of contexts, including education, science and entertainment among others. Manual construction of such programs is expensive, time consuming and prone to error. We have developed a system for automatically synthesizing physics-based animation programs for a significant class of problems: constrained systems of rigid bodies, subject to driving and dissipative forces. Our system includes a graphical interface for specifying a physical scenario, including objects, geometry, dynamical variables and coordinate systems, along with a symbolic interface for specifying forces and constraints operating in the scenario. The entities defined in the graphical interface serve as the underlying vocabulary for specifications constructed in the symbolic interface. We use an algorithmically controlled rewrite system to construct a numerical simulation program that drives a real-time animation of the specified scenario. The algorithm operates by partitioning the constraints and dynamic variables into classes, assigning each class to be implemented in a different component of a general simulation program scheme. Our approach provides many of the benefits of formal deductive methods of program synthesis, while keeping the computational costs of program synthesis more in line with conventional program generator technology. We have successfully tested our system on numerous examples.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127370626","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":"Systematic bridging the gap between requirements and OO design","authors":"Hee Beng Kuan Tan, Weihong Li","doi":"10.1109/ASE.2002.1115022","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115022","url":null,"abstract":"Today, most of the OO software development methodologies analyze requirements in terms of objects and their interactions. As a result, they have the problem of forcing analysts to make design decisions on objects and their interactions at the early stage of requirements analysis. This paper gives a brief introduction of an enhanced DFD model called data flow net (DF net) that resolves the impeding mismatch between DFD based models and OO models. It also gives a brief introduction of an approach that uses DF net to specify use-cases in the requirements analysis stage without the need of making the above-mentioned major design decisions. In the design stage, the proposed approach transforms the DF nets specified during the requirements analysis stage systematically and precisely into OO designs. It bridges the gap between requirements and OO design. A significant part of the transformation can be automated.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"215 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115960807","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 framework for automatic debugging","authors":"M. Auguston, Clinton Jeffery, Scott Underwood","doi":"10.1109/ASE.2002.1115015","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115015","url":null,"abstract":"This paper presents an application framework in which declarative specifications of debugging actions are translated into execution monitors that can automatically detect bugs. The approach is non-intrusive with respect to program source code and provides a high level of abstraction for debugging activities.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126027629","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":"Distributed modular model checking","authors":"Jitka Crhová","doi":"10.1109/ASE.2002.1115041","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115041","url":null,"abstract":"Summary form only given. Model checking is a formal method that verifies whether a finite state model of a system satisfies a specification given as a temporal logic formula. The most severe problem model checking suffers from is the so called state explosion problem. Distribution is one of the techniques that combat the state explosion. The aim is to distribute the state space among a number of computers so as to be able to verify larger systems. Another approach that deals with the state explosion problem is modularity, i.e. exploiting the structure of the system. We propose to employ modular techniques to the distributed model checking problem. This can be useful especially for software, as the software model checking algorithms suffer from state explosion more severely than the hardware model checking techniques even when the system consists of one sequential finite-state component. Moreover, software programs have typically richer syntactic structure that can be exploited. Besides elaborating a theoretical background for distributed model checking based on the modular approach, we also intend to develop modular approaches to partitioning the state space, in particular to define partition functions that reduce the necessary communication in the distributed environment.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125061596","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":"Monitoring requirements: a case study","authors":"S. Fickas, T. Beauchamp, Ny Aina Razermera Mamy","doi":"10.1109/ASE.2002.1115035","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115035","url":null,"abstract":"In our study of composite systems, we found a class of requirements that could not be guaranteed to hold. Specifically, these requirements required the environment of the overall system to behave in ways that could not be controlled. The best we could do in such cases was to note the assumptions placed on the environment for the requirements to be met, and then monitor the environment at runtime to detect deviations from our assumptions about its behavior. This paper discusses a short example of carrying out this type of monitoring. It introduces three tools to support requirements monitoring: (1) a tool to capture a requirement formally, (2) a tool to translate that requirement into a runtime specification, and (3) a tool to actually do the runtime monitoring.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114385054","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":"What makes finite-state models more (or less) testable?","authors":"David Owen, T. Menzies, B. Cukic","doi":"10.1109/ASE.2002.1115019","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115019","url":null,"abstract":"This paper studies how details of a particular model can effect the efficacy of a search for detects. We find that if the test method is fixed, we can identity classes of software that are more or less testable. Using a combination of model mutators and machine learning, we find that we can isolate topological features that significantly change the effectiveness of a defect detection tool. More specifically, we show that for one defect detection tool (a stochastic search engine) applied to a certain representation (finite state machines), we can increase the average odds of finding a defect from 69% to 91%. The method used to change those odds is quite general and should apply to other defect detection tools being applied to other representations.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"12 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125820537","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":"Automatic synthesis of distributed systems","authors":"Alin Stefanescu","doi":"10.1109/ASE.2002.1115044","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115044","url":null,"abstract":"Summary form only given. Our research aims towards a new method of synthesis for distributed systems using Mazurkiewicz traces for specification and asynchronous automata for models. Mazurkiewicz trace languages are languages closed under an explicit independence relation between actions and therefore they are suitable to describe concurrent behaviour. The main objectives of this work are: (a) to develop a specification language based on a distributed version of temporal logic on traces that is able to express properties about the independence of actions; (b) to design a synthesis procedure based on improvements and heuristics of the algorithms for asynchronous automata; (c) to implement the new procedure efficiently (and so to turn the theory into a reliable tool that can be used in practice); (d) to apply it to case studies in areas like small distributed algorithms (e.g. mutual exclusion, communication protocols) and asynchronous circuit design. The idea used for the core of the synthesis procedure is that of unfoldings, a successful technique based on branching time partial order semantics. Promising preliminary results were obtained: we were able to automatically synthesize mutual exclusion algorithms from regular trace specifications.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129149305","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 temporal logic approach to the specification of reconfigurable component-based systems","authors":"Nazareno Aguirre, Tom Maibaum","doi":"10.1109/ASE.2002.1115028","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115028","url":null,"abstract":"We propose a formal specification language for dynamically reconfigurable component-based systems, based on temporal logic. The main aim of the language is to allow one to specify behaviours of component-based systems declaratively, with special emphasis on behaviours in which the architectural structure of the system changes dynamically. Due to the semantics and organisation of our language, it is straightforward to hierarchically build reconfigurable systems in terms of subsystems and basic component parts, and reason about them within the language. Despite its expressive power, the language is rather simple.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128915369","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":"Report on the workshop on the state of the art in automated software engineering","authors":"Y. Ledru, D. Redmiles","doi":"10.1109/ASE.2002.1115038","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115038","url":null,"abstract":"The solution is provision of various forms of automation in the software tools developers use - the tools carry out perhaps a wide range of activities for the developer at appropriate times and inform the developer of results of actions in appropriate ways. We have focused in recent years on two areas of automation in software tools: (1) generating code from high-level software specifications; and (2) utilisation of high-level software information by agents to support collaborative work, change management and component testing. From our experiences developing a number of software tools using these automation approaches, we have learned a number of lessons for further research in these areas. These include: the need to support software tool meta-model extension; the need for on-the-fly enhancement of tool notations, event processing and code generation facilities; support for software artefact change propagation and annotation; the need to have reflective, high-level information to running software system components; and the continuing challenges of enhancing COTS tools with these kinds of automation facilities, including the need for sharable, extensible software information models for software tools and open tool infrastructure. We describe 3 software tools generating code from high-level descriptions (performance test-bed generator; data mapper; and adaptable user interface designer), and 3 tools providing event-driven agents (plug-in collaborative work components; requirements management tool; and deployed component testing agents).","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124293703","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":"An approach to rapid prototyping of large multi-agent systems","authors":"W. Vasconcelos, C. Sierra, M. Esteva","doi":"10.1109/ASE.2002.1114987","DOIUrl":"https://doi.org/10.1109/ASE.2002.1114987","url":null,"abstract":"Engineering individual components of a multi-agent system and their interactions is a complex and error-prone task in urgent need of methods and tools. Prototyping is a valuable technique to help software engineers explore the design space while gaining insight and a \"feel\" for the dynamics of the system; prototyping also allows engineers to learn more about the relationships among design features and the desired computational behaviour. In this paper we describe an approach to building prototypes of large multi-agent systems with which we can experiment and analyse results. We have implemented an environment embodying our approach. This environment is supported by a distributed platform that helps us achieve controlled simulations.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131103634","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}