AnsProlog* Programming Environment (APE): Investigating software tools for answer set programming through the implementation of an integrated development environment

Adrian Sureshkumar · The University of Bath Online Publications Store (The University of Bath) · 2006

It has been recognised that better programming tools are required to support the logic programming paradigm of Answer Set Programming (ASP).In order to meet this demand, the aspects of programming in ASP that require better support need to be investigated, and suitable tools to support them identified and implemented.In this dissertation, an exploratory development approach is adopted to implement an Integrated Development Environment (IDE) for ASP: The AnsProlog* Programming Environment (APE).This is implemented as a plug-in for the Eclipse platform.Given that an IDE is itself composed of a set of programming tools, this approach is used to identify a set of tool requirements for ASP, together with some improvements to existing tools and programming practices.Finally, I would like to pass on my thanks to all who participated in the questionnaire.v 1 http://wasp.unime.it/ 1• a reduced strain on the mental resources of the programmer, through autocompletion mechanisms to prompt the user when they cannot recall what they want to type, and graphical user interface components to invoke commands.For this dissertation it was chosen to develop an IDE, as although there are well known implementations for object-oriented languages such as C++ and Java, this tool was not known to exist for ASP.Indeed the only similar system that was found was a graphical user interface for the smodels solver 2 .Furthermore, IDEs have been developed for other logic programming paradigms, such as Prolog, indicating the potential for this to be applied to ASP in a similar way.In order to be able to design and implement a system, its requirements need to be defined.In other words, the services that it has to provide as well as any constraints that it has to adhere to (Sommerville, 2001).Given that an IDE is not a single tool, but many tools integrated into a single environment, any conceivable programming tool was potentially a requirement of the system.Therefore the investigation into programming tools for ASP would form an essential part of its requirements elicitation phase.The development of the IDE is thus a suitable context in which to perform this investigation.Investigating potential programming tools is an open-ended task, and therefore could never be considered to be completed, especially not within the timeframe of an undergraduate dissertation.It would therefore not have been appropriate to use the traditional waterfall model of software engineering to develop the system.In this approach, each stage of the software engineering process is completed before progressing to the next phase (Sommerville, 2001).As no 'complete' requirements specification would ever be produced, no design or development could ever occur, rendering any work performed useless.Therefore in order to achieve an understanding of the requirements, whilst delivering a working system, an evolutionary development approach known as exploratory development was adopted.According to Sommerville (2001), the objective of this approach is to explore the requirements of the customer and deliver a working system.This fits naturally with the objectives of this dissertation. Dissertation OutlineThe structure of this dissertation will therefore follow this iterative process, rather than the traditional format of requirements, design, implementation and testing.However, for ease of reference a system requirements specification has been included in Appendix A, collating the requirements that are discussed in the course of this dissertation.We first present a survey of some literature relevant to the dissertation, in order to identify some techniques that could be used and gain a better understanding of the domains of ASP and programming tools.We then consider how the initial requirements of the system were elicited through a brainstorming session and questionnaire, before examining why implementing the system as a plug-in for Eclipse met these requirements and was suited to the exploratory development approach.

Read the paper · More papers on PaperTik