<back to Home>       

Scientific Collaboration

Knowledge Visualization

Algorithm Visualization

Intelligence Visualization


Development of a Web-Based Collaborative Problem-Solving Environment

        The WebCollab Laboratory aims to build a web-based "collaboratory" which refers to an integrated, tool-oriented computing and communication system that supports scientific collaboration over the Internet. The idea of a collaboratory is also to enable remote users with expertise in specific areas of a scientific field to collaborate with one another, viewing the shared data that is pertinent to each user's specialty in order to solve a particular problem. A project called ShareTone is launched, and currently composed of three main portions, i.e., (a) a knowledge management mechanism, (b) a tele-conferencing system, and (c) a computer supported collaborative work (CSCW) system. Users in the built Problem-Solving Environment (PSE) can share pertinent information and ideas through knowledge management mechanism and the tele-conferencing system. They can also make use of the CSCW warehouse to demonstrate their new findings and to solve a particular problem collaboratively.

      The kernel of this project is built upon an efficient knowledge management mechanism. We integrate the Zope open source utility with the Plone content management system to construct a unique type of knowledge portal that supports fundamental functions of collaboration, i.e., data sharing, software warehousing, application sharing, and workflow control. The content management mechanism also allows users to implement discipline-dependent content types within given ontology. We have implemented a knowledge portal, called OpenCPS, in which knowledge at this demonstration website is regarded as a map relating instances among problem, solution, and implementation spaces. The OpenCPS knowledge portal has been a useful practice platform in an algorithm design course of ¡§Geometric Computing and Visualization¡¨ in National Taiwan University.

      The Plone/Zope software system supports Python language for further development of plug-in packages. Based on its easy plug-in property, we develop tele-conferencing and concurrent collaboration service packages to enhance the performance of the collaborative problem-solving environment. The tele-conferencing service includes Internet Relay Chat (IRC) and videoconference systems. The concurrent collaboration service is referred to as the ShareTone CSCW (Computer Supported Cooperative Work) system, in which we provide reusable system components and some useful applications such as ¡§CollabJEditor¡¨ and ¡§GeoBuilder¡¨. The CollabJEditor is an editor that allows concurrent editing from multiple users; the GeoBuilder is a collaborative visual debugging tool that supports 2D and 3D geometric algorithm visualization on the OpenCPS website. All these add-on applications are in client-server architecture. The client-side programs are written in Java language and embedded into the whole system by running Python scripts in response to web users¡¦ communication and collaboration requests.

      The ShareTone Replication Center (STRC, http://www.sharetone.org) is now available for users to replicate our model of collaborative PSE. Users can download the most updated system cores to set up their own knowledge portals equipped with fundamental collaboration functions, i.e., content type management, software warehousing, application sharing, and workflow control. The above-mentioned communication tools and concurrent collaboration applications are optional for users to select and plug-in. Some research results such as the Concept Map Generators and the GeoBuilder System can also be found in my webpages. In the following, we details the Collabench service package of our ShareTone CSCW system, and the future work of our knowledge management system towards integration of e-learning.


Collabench Service Package of the ShareTone CSCW System

      Collabench, which is short for ¡§collaborative workbench¡¨, provides a service for collaborative event broadcasting and concurrent action. An application¡¦s states change when the user creates objects, moves objects or modifies object properties within it. Collabench then broadcasts the corresponding events to other collaborative applications in the same session, so that all the collaborators can see the same changes. The core idea of Collabench is an event translating mechanism that maps ¡§local events¡¨ (LocalEvents) to ¡§collaborative events¡¨ (CollabEvents) and vice versa. In the above mentioned situations, relevant local events are fired reflecting the state changes made by user operations on a local object. Using the Collabench service package, application developers wrap local objects (LocalObjects) in collaborative objects (CollabObjects), then register corresponding LocalEvents to be translated into CollabEvents. Users can apply the function

CollabenchToolkit.CollabObject createCollabObject( Object localObjectInstance, Class[] localEventClasses,...)

to create a CollabObject; meanwhile, a ¡§CommonEventListener¡¨ class for LocalEvents assigned within the CollabObject is automatically created, and added into the listener interfaces within the wrapped LocalObject. This proxy class implements all the listener interfaces for the given localEventClasses. The CommonEventListener is instantiated along with a java invocation handler ¡§LocalEventListenerInvocationHandler¡¨, which receives LocalEventObjects and extracts CollabEventObjects with the help of EventProcessors. The client-side ¡§EventProcessor¡¨ is programmed by the application developer, and bound to a target localEventClass. As shown in Fig. 1, the EventProcessor generates CollabEvent- Objects to create a snapshot of the property change or method invocation information originating from the source local objects. These CollabEventObjects are transmitted to the Collabench server, and then dispatched to replicated collaborative applications following the first-come-first-served rule. Additionally, the respective EventProcessor must restore the state change from CollabEventObjects to target LocalObjects, thus instantiating and maintaining collaboration behaviour.

Fig. 1. The Collabench sevice infrastructure. Collabench is an event-driven framework generating and broadcasting collaborative events for concurrent co-operation. This mechanism extracts CollabEventObjects from LocalEventObjects, and sends them to the Collabench server (the dashed lines). After receiving the turning-around event objects (solid lines), the EventProcessor then restores the state change from the collaborative events to the target local objects.


E-learning models towards learning by teaching

      Integration of KM and e-learning gains increasing attention for it implies the possibility to complete knowledge creation and delivery cycle. New models for integration were continuously proposed in these years [1-4]; however, the ¡§cognitive disconnection problem¡¨ [5] between KM platform and e-learning processes remains a research issue. Ley et al. addressed that a typical workplace must link a work space, a learning space, and a knowledge space. In this case the first problem that developers may encounter is the ¡§cognitive disconnection¡¨, namely, ¡§each of the spaces has an inherent structure which mirrors to some extent mental model of the people who are using it¡¨ and it might be hard to connect available KM model to learning activities. In the previous work [6], we have developed SCORM-compliant content types and embedded them into our OpenCPS knowledge portal. The system architecture is shown in Fig. 2. Integration like this properly supports learning activities with the ability to organize information and knowledge resources on the portal. Moreover, students using this knowledge portal can compose their learning content objects and submit the packages to the teaching assistants (TAs) and all peer learners. This integration is therefore also an implementation towards learning by teaching.

      In the future, we plan to develop an embedded SCORM run time environment (RTE). Based on this RTE, a ¡§classroom¡¨ content type with ability to record and analyze learner¡¦s work and outcomes can be created; therefore, further processes of learning by teaching can be realized. On the other hand, this RTE can also support the development of visual editor that plans the ¡§Sequencing and Navigation¡¨ of a SCORM course with visualization and can reduce the hard coding of plain text. Finally, the proposed mechanism of this work is currently suitable to the computational problem solving, but the concept can be extended to other research fields. We will make out a configurable product for other portal to automatically create these e-learning content types.

[1] G. B. Coilliot. Beyond the desktop for knowledge management in higher scientific education. In Proc. 5th International Conference on Information Technology Based Higher Education and Training, pages 421¡V424, 2004.

[2] I. F. de Kereki, J. Azpiazu, and A. Silva. Knowledge management in learning environment design. In Proc. 34th Annual Frontiers in Education, pages S3F/6¡V11, 2004.

[3] M. D. Lytras, A. Naeve, and A. Pouloudi. Knowledge management as a reference theory for e-learning: A conceptual and technological perspective. International Journal of Distance Education Technologies, 3(2):1¡V12, 2005.

[4] T. Watanabe. Computer supported educational environment. In Proc. 10th International Conference on Telecommunications, pages 1709¡V1716, 2003.

[5] T. Ley, S. N. Lindstaedt, and D. Albert. Integration of e¡Vlearning and knowledge management ¡V barriers, solutions and future issues. Lecture Notes in Artificial Intelligence, 3782:189¡V202, 2005.

[6] Jyh-Da Wei, Tsai-Ye Tung, Tai-Yu Chen, and D. T. Lee. Integration of knowledge management and e-learning ¡V an implementation towards learning by teaching. 12th Annual Conference on Innovation and Technology in Computer Science Education, 2007 (accepted).


Fig. 2. Architecture to integrate KM platform and e-learning processes. We developed SCORM-compliant content types and embedded them into our OpenCPS knowledge portal. Integration like this properly supports learning activities with the ability to organize information and knowledge resources on the portal.