<<

Improving the usability of Kenzo, a Common Lisp system for Algebraic

J´onathanHeras†, Vico Pascual†, Julio Rubio† and Francis Sergeraert‡

{jonathan.heras,vico.pascual,julio.rubio}@unirioja.es, [email protected]

†:Departamento de Matem´aticas y Computaci´on,Universidad de La Rioja ‡: Institut Fourier, Universit´eGrenoble

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 1/14 Table of Contents

1 Introduction

2 Methodological and Architectural Issues

3 Knowledge Management in the Intermediary Layer

4 State of the Project

5 Open Problems

6 Conclusions

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 2/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the . In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Symbolic Computation Systems Symbolic Computation Systems

Traditionally, symbolic computation systems have been oriented to research. In the area of Computer Algebra Systems. Efficiency. Extension of the scope of the applications. In the area of interoperability among symbolic computation systems. Universality of the Middleware. In summary, we are always looking for more powerful systems. However, our systems became so powerful, that we can lose users or interactions.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 3/14 Introduction Kenzo Kenzo

Kenzo is a symbolic computation system devoted to . Weak Points in Kenzo: Usability Accessibility Solution: Construct an Intermediary Layer, allowing us an intelligent access to some features of the system.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 4/14 Introduction Kenzo Kenzo

Kenzo is a symbolic computation system devoted to Algebraic Topology. Weak Points in Kenzo: Usability Accessibility Solution: Construct an Intermediary Layer, allowing us an intelligent access to some features of the system.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 4/14 Introduction Kenzo Kenzo

Kenzo is a symbolic computation system devoted to Algebraic Topology. Weak Points in Kenzo: Usability Accessibility Solution: Construct an Intermediary Layer, allowing us an intelligent access to some features of the system.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 4/14 Introduction Kenzo Kenzo

Kenzo is a symbolic computation system devoted to Algebraic Topology. Weak Points in Kenzo: Usability Accessibility Solution: Construct an Intermediary Layer, allowing us an intelligent access to some features of the system.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 4/14 Introduction Kenzo Kenzo

Kenzo is a symbolic computation system devoted to Algebraic Topology. Weak Points in Kenzo: Usability Accessibility Solution: Construct an Intermediary Layer, allowing us an intelligent access to some features of the system.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 4/14 Introduction Kenzo Kenzo

Kenzo is a symbolic computation system devoted to Algebraic Topology. Weak Points in Kenzo: Usability Accessibility Solution: Construct an Intermediary Layer, allowing us an intelligent access to some features of the system.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 4/14 Methodological and Architectural Issues Noesis Method Noesis method

We have tried to guide our development with already proven methodologies and patterns. We have followed the guidelines of the Noesis method in the design of the interaction with the user in our GUI front-end. Noesis models provide modular tools

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 5/14 Methodological and Architectural Issues Noesis Method Noesis method

We have tried to guide our development with already proven methodologies and patterns. We have followed the guidelines of the Noesis method in the design of the interaction with the user in our GUI front-end. Noesis models provide modular tools

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 5/14 Methodological and Architectural Issues Noesis Method Noesis method

We have tried to guide our development with already proven methodologies and patterns. We have followed the guidelines of the Noesis method in the design of the interaction with the user in our GUI front-end. Noesis models provide modular tools

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 5/14 Methodological and Architectural Issues Microkernel architecture of the system Microkernel architecture of the system

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 6/14 Methodological and Architectural Issues Microkernel architecture of the system Microkernel architecture of the system

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 6/14 Methodological and Architectural Issues Microkernel architecture of the system Microkernel architecture of the system

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 6/14 Methodological and Architectural Issues Microkernel architecture of the system Microkernel architecture of the system

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 6/14 Methodological and Architectural Issues Microkernel architecture of the system Microkernel architecture of the system

Inspired by the MicroKernel architectural pattern

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 6/14 Methodological and Architectural Issues XML XML

XML-RPC: is a simple remote procedure call which uses XML to encode its calls. Internal XML-Kenzo External XML-Kenzo

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 7/14 Methodological and Architectural Issues XML XML

XML-RPC: is a simple remote procedure call which uses XML to encode its calls. Internal XML-Kenzo External XML-Kenzo

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 7/14 Methodological and Architectural Issues XML XML

XML-RPC: is a simple remote procedure call which uses XML to encode its calls. Internal XML-Kenzo External XML-Kenzo

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 7/14 Knowledge Management in the Intermediary Layer Intelligent Enhancements Intelligent Enhancements

The system includes the following “intelligent” enhancements: 1 Controlling the input specifications on constructors. 2 Avoiding some operations on objects which will raise errors. 3 Chaining methods in order to provide the user with new tools. 4 Determining if a calculation can be done in a local computer or should be derived to a remote server.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 8/14 Knowledge Management in the Intermediary Layer Intelligent Enhancements Intelligent Enhancements

The system includes the following “intelligent” enhancements: 1 Controlling the input specifications on constructors. 2 Avoiding some operations on objects which will raise errors. 3 Chaining methods in order to provide the user with new tools. 4 Determining if a calculation can be done in a local computer or should be derived to a remote server.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 8/14 Knowledge Management in the Intermediary Layer Intelligent Enhancements Intelligent Enhancements

The system includes the following “intelligent” enhancements: 1 Controlling the input specifications on constructors. 2 Avoiding some operations on objects which will raise errors. 3 Chaining methods in order to provide the user with new tools. 4 Determining if a calculation can be done in a local computer or should be derived to a remote server.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 8/14 Knowledge Management in the Intermediary Layer Intelligent Enhancements Intelligent Enhancements

The system includes the following “intelligent” enhancements: 1 Controlling the input specifications on constructors. 2 Avoiding some operations on objects which will raise errors. 3 Chaining methods in order to provide the user with new tools. 4 Determining if a calculation can be done in a local computer or should be derived to a remote server.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 8/14 Knowledge Management in the Intermediary Layer Intelligent Enhancements Intelligent Enhancements

The system includes the following “intelligent” enhancements: 1 Controlling the input specifications on constructors. 2 Avoiding some operations on objects which will raise errors. 3 Chaining methods in order to provide the user with new tools. 4 Determining if a calculation can be done in a local computer or should be derived to a remote server.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 8/14 State of the Project Objectives Objectives

We reach one of the objectives: code reuse. This reusing has two aspects: We have left the Kenzo kernel untouched. The intermediary level has been used, without changes, both in the standalone local version and in the light client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 9/14 State of the Project Objectives Objectives

We reach one of the objectives: code reuse. This reusing has two aspects: We have left the Kenzo kernel untouched. The intermediary level has been used, without changes, both in the standalone local version and in the light client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 9/14 State of the Project Objectives Objectives

We reach one of the objectives: code reuse. This reusing has two aspects: We have left the Kenzo kernel untouched. The intermediary level has been used, without changes, both in the standalone local version and in the light client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 9/14 State of the Project Objectives Objectives

We reach one of the objectives: code reuse. This reusing has two aspects: We have left the Kenzo kernel untouched. The intermediary level has been used, without changes, both in the standalone local version and in the light client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 9/14 State of the Project Nowadays Nowadays

In this moment we have: A local version of our interface. A remote version of our interface. A prototype web application client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 10/14 State of the Project Nowadays Nowadays

In this moment we have: A local version of our interface. A remote version of our interface. A prototype web application client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 10/14 State of the Project Nowadays Nowadays

In this moment we have: A local version of our interface. A remote version of our interface. A prototype web application client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 10/14 State of the Project Nowadays Nowadays

In this moment we have: A local version of our interface. A remote version of our interface. A prototype web application client.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 10/14 State of the Project Kenzo Interface Kenzo Interface

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 11/14 Open Problems Local or Remote? Local or Remote?

When a calculation should be derived to a remote server? Two kinds of state: The state of session. The state of space. We should solve problems of distributed system in order to enable our intermediary layer as an intelligent assistant with respect to the classification of calculations.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 12/14 Open Problems Local or Remote? Local or Remote?

When a calculation should be derived to a remote server? Two kinds of state: The state of session. The state of space. We should solve problems of distributed system in order to enable our intermediary layer as an intelligent assistant with respect to the classification of calculations.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 12/14 Open Problems Local or Remote? Local or Remote?

When a calculation should be derived to a remote server? Two kinds of state: The state of session. The state of space. We should solve problems of distributed system in order to enable our intermediary layer as an intelligent assistant with respect to the classification of calculations.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 12/14 Open Problems Local or Remote? Local or Remote?

When a calculation should be derived to a remote server? Two kinds of state: The state of session. The state of space. We should solve problems of distributed system in order to enable our intermediary layer as an intelligent assistant with respect to the classification of calculations.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 12/14 Open Problems Local or Remote? Local or Remote?

When a calculation should be derived to a remote server? Two kinds of state: The state of session. The state of space. We should solve problems of distributed system in order to enable our intermediary layer as an intelligent assistant with respect to the classification of calculations.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 12/14 Conclusions Conclusions

We have showed how some intelligent guidance can be achieved in the field of CAT, without using standard Artificial Intelligence techniques.

Kenzo  ⇒ A Framework Intermediary Layer

With this framework the interaction with Kenzo is easier and enriched.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 13/14 Conclusions Conclusions

We have showed how some intelligent guidance can be achieved in the field of CAT, without using standard Artificial Intelligence techniques.

Kenzo  ⇒ A Framework Intermediary Layer

With this framework the interaction with Kenzo is easier and enriched.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 13/14 Conclusions Conclusions

We have showed how some intelligent guidance can be achieved in the field of CAT, without using standard Artificial Intelligence techniques.

Kenzo  ⇒ A Framework Intermediary Layer

With this framework the interaction with Kenzo is easier and enriched.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 13/14 Conclusions Conclusions

We have showed how some intelligent guidance can be achieved in the field of CAT, without using standard Artificial Intelligence techniques.

Kenzo  ⇒ A Framework Intermediary Layer

With this framework the interaction with Kenzo is easier and enriched.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 13/14 Conclusions Conclusions

We have showed how some intelligent guidance can be achieved in the field of CAT, without using standard Artificial Intelligence techniques.

Kenzo  ⇒ A Framework Intermediary Layer

With this framework the interaction with Kenzo is easier and enriched.

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 13/14 The end Questions?

Improving the usability of Kenzo, a Common Lisp system for Algebraic Topology

J´onathanHeras†, Vico Pascual†, Julio Rubio† and Francis Sergeraert‡

{jonathan.heras,vico.pascual,julio.rubio}@unirioja.es, [email protected]

†:Departamento de Matem´aticas y Computaci´on,Universidad de La Rioja ‡: Institut Fourier, Universit´eGrenoble

J.Heras, V. Pascual, J. Rubio and F. Sergeraert Improving the usability of Kenzo 14/14