CRACS
Permanent URI for this community
This service develops its activity in the areas of programming languages, parallel and distributed computing, data mining, intelligent systems and software architecture, with emphasis on solving concrete problems in areas of multidisciplinary collaboration, such as Biology, Medicine and Chemistry.
Browse
Browsing CRACS by Issue Date
Results Per Page
Sort Options
-
ItemAn External Database for Prolog( 1989) José Paulo Leal ; 5125This work describes a disk-resident database for Prolog which uses mechanisms similar to the ones used by the clausal database for recording and retrieving terms. It is intended to be used by applications requiring a flexibility greater than that provided by an interface to traditional database system. There is almost no restriction on the terms stored in the database and the retrieval mechanisms produces terms in the order they were recorded. To enhance the performance of the system, the database organization provides an access mechanism using hash-codes on ”key” arguments of the recorded term. The database also provides basic support for multi-user access. © Springer-Verlag Berlin Heidelberg 1989.
-
ItemAn External Database for Prolog( 1989) José Paulo Leal ; 5125This work describes a disk-resident database for Prolog which uses mechanisms similar to the ones used by the clausal database for recording and retrieving terms. It is intended to be used by applications requiring a flexibility greater than that provided by an interface to traditional database system. There is almost no restriction on the terms stored in the database and the retrieval mechanisms produces terms in the order they were recorded. To enhance the performance of the system, the database organization provides an access mechanism using hash-codes on ”key” arguments of the recorded term. The database also provides basic support for multi-user access. © Springer-Verlag Berlin Heidelberg 1989.
-
ItemRepresentation and Manipulation of Music Documents in SceX( 1993) José Paulo Leal ; 5125
-
ItemRepresentation and Manipulation of Music Documents in SceX( 1993) José Paulo Leal ; 5125
-
ItemA System to Visualize and Interact with Prolog Programs( 1994) José Paulo Leal ; 5125
-
ItemA System to Visualize and Interact with Prolog Programs( 1994) José Paulo Leal ; 5125
-
ItemUsing Constraint Logic Programming to Generate Drills in Mathematics( 2002) José Paulo Leal ; 5125
-
ItemUsing Constraint Logic Programming to Generate Drills in Mathematics( 2002) José Paulo Leal ; 5125
-
ItemMooshak: a Web-based multi-site programming contest system( 2003) Fernando Silva ; José Paulo Leal ; 5124 ; 5125This paper presents a new Web-based system, Mooshak, to handle programming contests. The system acts as a full contest manager as well as an automatic judge for programming contests. Mooshak innovates in a number of aspects: it has a scalable architecture that can be used from small single server contests to complex multi-site contests with simultaneous public online contests and redundancy; it has a robust data management system favoring simple procedures for storing, replicating, backing up data and failure recovery using persistent objects; it has automatic judging capabilities to assist human judges in the evaluation of programs; it has built-in safety measures to prevent users from interfering with the normal progress of contests. Mooshak is an open system implemented on the Linux operating system using the Apache HTTP server and the TcI scripting language. This paper starts by describing the main features of the system and its architecture with reference to the automated judging, data management based on the replication of persistent objects over a network. Finally, we describe our experience using this system for managing two official programming contests. Copyright (C) 2003 John Wiley Sons, Ltd.
-
ItemMooshak: a Web-based multi-site programming contest system( 2003) Fernando Silva ; José Paulo Leal ; 5124 ; 5125This paper presents a new Web-based system, Mooshak, to handle programming contests. The system acts as a full contest manager as well as an automatic judge for programming contests. Mooshak innovates in a number of aspects: it has a scalable architecture that can be used from small single server contests to complex multi-site contests with simultaneous public online contests and redundancy; it has a robust data management system favoring simple procedures for storing, replicating, backing up data and failure recovery using persistent objects; it has automatic judging capabilities to assist human judges in the evaluation of programs; it has built-in safety measures to prevent users from interfering with the normal progress of contests. Mooshak is an open system implemented on the Linux operating system using the Apache HTTP server and the TcI scripting language. This paper starts by describing the main features of the system and its architecture with reference to the automated judging, data management based on the replication of persistent objects over a network. Finally, we describe our experience using this system for managing two official programming contests. Copyright (C) 2003 John Wiley Sons, Ltd.
-
ItemA CLP-based tool for computer aided generation and solving of maths exercises( 2003) José Paulo Leal ; 5125We propose an interesting application of Constraint Logic Programming to automatic generation and explanation of mathematics exercises. A particular topic in mathematics is considered to investigate and illustrate the advantages of using the CLP paradigm. The goal is to develop software components that make the formulation and explanation of exercise's easier. We describe exercises by grammars which enables us to get specialized forms almost for free, by imposing further conditions through constraints. To define the grammars we concentrate on the solving procedures that are taught instead of trying to abstract an exercise template from a sample of similar exercises. Prototype programs indicate that Constraint Logic Programming frameworks may be adequate to implement such a tool. These languages have the right expressiveness to encode control on the system in an elegant and declarative way.
-
ItemA CLP-based tool for computer aided generation and solving of maths exercises( 2003) José Paulo Leal ; 5125We propose an interesting application of Constraint Logic Programming to automatic generation and explanation of mathematics exercises. A particular topic in mathematics is considered to investigate and illustrate the advantages of using the CLP paradigm. The goal is to develop software components that make the formulation and explanation of exercise's easier. We describe exercises by grammars which enables us to get specialized forms almost for free, by imposing further conditions through constraints. To define the grammars we concentrate on the solving procedures that are taught instead of trying to abstract an exercise template from a sample of similar exercises. Prototype programs indicate that Constraint Logic Programming frameworks may be adequate to implement such a tool. These languages have the right expressiveness to encode control on the system in an elegant and declarative way.
-
ItemRapid development of web interfaces to heterogeneous systems( 2007) José Paulo Leal ; 5125The general problem addressed in this paper is the rapid development of web interfaces to software systems using only their command line interface. This kind of system is frequently developed in environments that greatly differ from those where web interface will be implemented. In this setting it is also important to maintain a loose coupling between the web interface and the system it controls since the latter must be able to continue its normal development independently of the former. We propose a framework to develop web interfaces targeted to these systems whose main feature is the fact that it can be extended without requiring code programming. The hot spots of our framework are XML configuration files to define the interface data, how this data is mapped into the system's commands, and how commands output and the interaction state is mapped into web formatting languages. With this approach the web interface is kept separated from the system it controls, it is easy to define and modify, and is able to capture enough domain knowledge to be a real advantage for the novice or sporadic user. In this paper we present the proposed framework architecture, loosely inspired in the MVC pattern, its implementation on Java servlet containers, and its application to the AGILMAT system, a high-school mathematical problem generator developed using constrained grammars.
-
ItemIntegration of e-Learning Systems With Repositories of Learning Objects( 2008) Ricardo Queirós ; José Paulo Leal ; 5695 ; 5125This paper describes a communication model to integrate repositories of programming problems with other e-Learning software components. The motivation for this work comes from the EduJudge project that aims to connect an existing repository of programming problems to learning management systems. When trying to use the existing repositories of learning objects we realized that they are mainly specialized search engines and lack features for integration with other e-Learning systems. With this model we intend to clarify the main features of a programming problem repository, in order to enable the design and development of software components that use it. The two main points of this model are the definition of programming problems as learning objects and the definition of the core functions exposed by the repository. In both cases, this model follows the existing specifications of the IMS standard and proposes extensions to deal with the special requirements of automatic evaluation and grading of programming exercises. In the definition of programming problems as learning objects we introduced a new schema for meta-data. This schema is used to represent meta-data related to automatic evaluation that cannot be conveniently represented using the standard: the type of automatic evaluation; the requirements of the evaluation engine; or the roles of different assets - tests cases, program solutions, etc. In the definition of the core functions we used two different web services flavours - SOAP and REST - and described each function as an operation for each type of interface. We describe also the data types of the arguments of each operation. These data types consist mainly on learning objects and their identifications, but include also usage reports and queries using XQuery.
-
ItemA web application for mathematics education( 2008) José Paulo Leal ; 5125AGILMAT is a web application designed to help students learn Mathematics, with focus on high-school algebra and calculus drills. A modular and extensible architecture and a wizard-based configuration interface decoupled from the system core are major design features of AGILMAT. The drill expressions are specified by grammars and constraints imposed by default profiles and user options, so that AGILMAT may support distinct learning levels and stages. The core system uses symbolic manipulation and automated reasoning to provide correct answers for the drills. The paper shows how AGILMAT may be used to create and customize drills automatically.
-
ItemDesigning a user interface for repositories of learning objects( 2009) José Paulo Leal ; Ricardo Queirós ; 5125 ; 5695This paper presents the design of a user interface for repositories of learning objects. It integrates several tasks, such as submission, browse, search, and comment/review of learning objects, on a single screen layout. This design is being implemented on the web front-end of crimsonHex, a repository of specialized learning objects, developed as part of the EduJudge, a European project that aims to bring automatic evaluation of programming problems to e-Learning systems. © 2009 IADIS.
-
ItemCrimsonHex: A Service Oriented Repository of Specialised Learning Objects( 2009) Ricardo Queirós ; José Paulo Leal ; 5695 ; 5125The corner stone of the interoperability of eLearning systems is the standard definition of learning objects. Nevertheless, for some domains this standard is insufficient to fully describe all the assets, especially when they are used as input for other eLearning services. On the other hand, a standard definition of learning objects in not enough to ensure interoperability among eLearning systems; they must also use a standard API to exchange learning objects. This paper presents the design and implementation of a service oriented repository of learning objects called crimsonHex. This repository is fully compliant with the existing interoperability standards and supports new definitions of learning objects for specialized domains. We illustrate this feature with the definition of programming problems as learning objects and its validation by the repository. This repository is also prepared to store usage data on learning objects to tailor the presentation order and adapt it to learner profiles.
-
ItemResponding to questionnaires on the Web using XwQuest( 2009) José Paulo Leal ; 5125This paper reports on the design, implementation and evaluation of XwQuest, a Web tool for responding to questionnaires on the Web. The distinctive feature of this tool is an XML definition of the questionnaire that focus on questions and admissible answers while avoiding presentation details. This questionnaire definition is processed on the browser side and converted to an Ajax application. Collected responses are periodically sent back to the server and can be retrieved by researchers and processed on a standard spreadsheet program. The paper details the questionnaire language of XwQuest and a generator that converts them into Ajax applications. Two case studies where XwQuest was actually used with good results are also presented. © 2009 IADIS.
-
ItemCrimsonHex: A Service Oriented Repository of Specialised Learning Objects( 2009) Ricardo Queirós ; José Paulo Leal ; 5695 ; 5125The corner stone of the interoperability of eLearning systems is the standard definition of learning objects. Nevertheless, for some domains this standard is insufficient to fully describe all the assets, especially when they are used as input for other eLearning services. On the other hand, a standard definition of learning objects in not enough to ensure interoperability among eLearning systems; they must also use a standard API to exchange learning objects. This paper presents the design and implementation of a service oriented repository of learning objects called crimsonHex. This repository is fully compliant with the existing interoperability standards and supports new definitions of learning objects for specialized domains. We illustrate this feature with the definition of programming problems as learning objects and its validation by the repository. This repository is also prepared to store usage data on learning objects to tailor the presentation order and adapt it to learner profiles.
-
ItemAn architecture for the rapid development of XML-based web applications( 2009) José Paulo Leal ; 5125Our research goal is the generation of working web applications from high level specifications. Based on our experience in using XML transformations for that purpose, we applied this approach to the rapid development of database management applications. The result is an architecture that defines of a web application as a set of XML transformations, and generates these transformations using second order transformations from a database schema. We used the Model-View-Controller architectural pattern to assign different roles to transformations, and defined a pipeline of transformations to process an HTTP request. The definition of these transformations is based on a correspondence between data-oriented XML Schema definitions and the Entity-Relationship model. Using this correspondence we were able produce transformations that implement database operations, forms interfaces generators and application controllers, as well as the second order transformations that produce all of them. This paper includes also a description of a RAD system following this architecture that allowed us to perform a critical evaluation of this proposal.