Task-Flow

The idea is to create an infrastructure or application that facilitates the execution and parametrization of a sequence of tasks.

Components/widgets/module-based approach

In the figure below, each rounded button in the graph below represents a module specialized in the execution of a given task.

Initially these modules will propose tools for the preparation, running, and analysis of experiments, in psycholinguistics. This is simply because, as a psycholinguist, I already have for this task domain a large number of specialized scripts written in a crossplatform language (Awk,Rebol, perl, VBA, and others). These modules fall into 3 main categories.

Two of these modules are detailed in the following page (with the possibility to download a working version):

But the Lexical analysis domain will only be used to realize a pilot. The project will then be extended to run any kind of task, in any domain.

Dependencies and restrictions in the kind of input that each module can take are indicated with the puzzle-like ends.



Visual programming

A new processing or exercise is defined by drag and dropping the corresponding modules in the work area. In this, we follow the Orange widgets model.

For instance, the definition of the processing for an experiment may look like this:

Why visual programming?

Shu (1988) stated that "A radical departure from traiditional programming is necessary if programming is to be made accessible to a large population". And this is exactly the issue at play here. In humanities or education, there is no requirement to acquire any programming skill and a large majority of staff are unable to program in a conventional textual language. It is unrealistic, given the multiple demands on the time of academics to expect a majority of them to develop programming skills. A toolkit like the one we propose would be widely adopted only if we provide academics with tools that are adapted to their level of skills. In this project, we propose to make use of a visual programming language, that is "a programming language whose components are graphical. Programs in a visual programming language are formed by combining the graphical elements into a picture." (Golin, 1991) (See the page on Visual Programming Language on the revolution-education wiki).

Information attached to each module

Interconnection depencies

At start-up, each module only knows about interconnection depencies. There are some basic rules about how modules can be interconnected.

Data Flow

As soon as the user starts to drag and drop modules in the workflow area, workflow information can be dynamically generated. Three variables are considered here:

User-Defined Parameters

Then, after a module has been added to the workflow, double clicking on it will open a window that lets the user define the parameters to the script. A parameter can for instance be the id of the column on which lexical statistics need to be computed. In this, we follow the automator model.

Cross Platform

The application will be developed with Runtime Revolution, an environment for the rapid development of applications that compile to the most common platforms (Windows, Mac OS X, Linux).

Modular Approach

An important characteristic of this project is that a completely modular approach is adopted, by which existing modules can be modified or new modules can easily be added to the system without any alteration of the software architecture. All information required for the running of a module is stored outside of the application, the software being only used as an interpreter, that will display the interface elements for the widget.

A "module" is made of a bundle of files that include:

  1. A picture file, with the icon representing the module
  2. A file with the code to run when the module is executed.
  3. A file documenting the parameters used by the script (in such a way that the script can be executed without understanding anything to the code).
  4. A file specifying the type and workflow constraints for this module (take both input and output, but only accept pivot table data).
  5. A file defining the visual interface to present to provide user-defined parameters

Interoperable format for maximum re-use

Each one of the information mentioned above will be defined in interoperable formats (i.e., XML text file).

For instance, for the specification of the visual interface, the XUL standard will be used. An example of how this works is provided below.

Widget editor as a standalone application, but within a web-service, peer-to-peer infrastructure

Standalone application for richer user experience

Even if you make it as easy as possible for persons to share their resource, most academics don't take the time to do it.

Provide educators/academics with useful desktop applications that help them in their day-to-day activities. Provide them with useful tools that let them organize their own resources on their computers as well as easily access repositories of shared resources on the web. Make it easy to share their resources within a team or with colleagues (what academics do a lot)... and record information about what resources exist during these transactions. During these transactions, ask the users whether he authorizes information about these resources to be made available to the community.

All information that is personal (notes, preferences, logs, etc.) saved on the desktop. All information that is to be shared, shared over the network, in an interoperable format. Eventually, files remain on personal computers (computers of academics are networked 24/24h), eventually duplicated onto many different computers, but there is some system by which information about the files (metadata) are maintained centrally. (this is yet to be defined - one possibility is the idea of bi-directional links... , anytime you introduce a change to your file on your local computer, the shared metadata are updated).

... and of course, have all this in a workflow model. If I come across a bookmark that points to a powerpoint presentation, I should be able to click on a button that will extract all pictures from that powerpoint presentation found on the web and add it to my personal collection of pictures used to illustrate my lectures. If I come across a page that contains a quizz, I should be able to strip off the MCQ (multiple choice questions) content and update my own list of MCQ questions. When I prepare multimedia application, I should be able to tell my program that my lecture is on the cerebellum, so have it propose me pictures that fit with this topic, one of which I select and get added to my presentation, then introduce a quizz object and have my program propose me a list of exercises and questions that are relevant to the lesson topic, select one in the list, etc.

In sum

Interoperability of standards + advantages of a standalone + advantage of a networked environment. The best of all worlds.


Project Leader

Marielle Lange (BSc Psychology, Bruxelles; M.Phil Biology, Cambrdige; PhD Psycholinguistics, Bruxelles)

Marielle Lange is a Psycholinguist with about 10 years experience in academic research and lecturing. Her homepage lists her Current Activities as well as Prior Career Experiences.

She has extensive experience in psycholinguistics research and lexical database manipulation. She wrote a technical report on "Manipulation de bases de données lexicales" (Lange, 1999) and designed and manage the lexicall website, which provides complete and easy access to a diversity of lexical resources.

She also has a passion for programming and web development. In the late 1999, she developed a webmuseum of perception and cognition. More recently, she set up cms system to support higher education research and teaching communities (revolution-lexicall, tutorials-lexicall). The projects she is involved in can be seen at projects.widged.com.