WWW-based Ubiquitous Environment for e-Learning and High-Performance Computing


ACHIEVEMENTS

Research Approach

The modern software environment has a large number of disparate applications and services that can be exposed over a ubiquitous media to the various kinds of end users. Therefore, the Enterprise Application Integration is an important aspect of Software Engineering in order to increase the high reusability and application decoupling factors.

Pattern based design is an effective way to avoid an expensive process of reinventing, rediscovering and revalidating agnostic software artifacts. In this research, we are imitating the Model- View-Controller (MVC) design patterns in order to explore the other composite patterns for an efficient integration of the applications and services. In this research, we proposed the virtual MVC (VMVC) design patterns in order to support integration of software components designed by different groups of developers. The demarcation of a Functional (View) and an Implementation (Model) task can be achieved deliberately by inducing an Integrator (Controller). The Controller can be further enriched to encapsulate certain Non-Functional activities such as security, reliability, scalability, and routing of request. This enables the separation of Integration Logic from that of Functional Logic (Client Application) and Implementation Logic (Service). The key point of our approach is that the Controller can be considered as the compound design pattern of the Enterprise Service Bus (ESB) allowing integration of the software components by using the Dependency Injection (DI) pattern. Accordingly, the Model is also including a set of Application Engines each of which can realize data processing that is specific for a corresponding application area. A variety of services can be proposed using combination of engine functions. A variety of end-user applications will be designed at the View level. We are exploring the DI to find a solution for integrating and decoupling the services and applications by their transformation from a stand-alone program to a service-oriented tool.

We developed a VMVC-based prototype of the server for the Tsunami Wave Propagation Modeling that is an adaptation the MOST software to the Service Oriented Architecture in which the important component is the Tsunami Modeling database containing Tsunami Scenarios (input parameters), Results of Modeling and the files with the Bottom Topography or Bathymetry data. The scenarios can be created/edited or downloaded from the Internet. The Tsunami Scenario Loader implements parsing procedures and converts data to a Database format. The similar operations can be provided with Results Data obtained by external modeling components and published on the Internet. The model is realized as a Propagation Engine. A set of parallel algorithms was developed for programming platforms and hardware including OpenMP, MPI, the IBM CELL BE, GPU CUDA. A special testing workplace was developed in order to optimize parallel programs as well as evaluate new methods algorithms on the equal data sets and conditions. This function was offered by adding a service to the Controller and the corresponding engine to the Model. A prototype of SOA Modeling Tool allows implementing calculations remotely on the server by choosing the available computational resources via an ordinary WEB browser. The style of user communication is partially similar to the stand-alone communication interface. The Propagation Engine consists of set distributed computational resources that can be also placed and invoked on the client computers.

 

The other VMVC application is the e-Learning Computational Cloud (eLC2) based on the original Class Model supporting Task Management Procedures. The eLC2 platform is wrapped within the Web services standards to interface the computing clouds for dynamic integration and aggregation of services. The Service Inventory is organized on a set of layers in the form of e-Learning Engines. An Engine is a subset of endpoint services that holds specific logic associated to a business process; in other words an Engine is a set of business tasks. Hence, an Engine can encompass functionalities of an API and realize processing that is specific to an application. There are several engines developed. The Verification Engine contains service endpoints corresponding to the logic for learning task verification such as quiz, exam, etc. The Formula Engine contains services endpoints that are used to parse formulas for automatic verification. The Wikipedia Miner Engine provides a code that can parse a given document identifying the main topics and link them to corresponding articles or short definitions from the Wikipedia content. This Engine is the kernel of the WikiGloss tool, which is based on a glossing approach helping learners of English-as-second-language on an extensive reading task. The other tool is an Intelligent Hints service for a Task Management Environment by providing explanatory links from relevant Wikipedia articles related to topics of the e-Learning task. This allows re-use of the same problems in different task types modes such as lectures, exercises, and quizzes.

 

We are also using our original visual programming environments based on a concepts of CyberFilm and Movie-Based Programming using a movie-like and self-explanatory representation of algorithms and methods and well as multimedia representation of mathematical formulas improving their perception. This included the design of new visual symbols and the introduction of an automatic template generation technique supporting compact specification of computational expressions, and allowing an essential advance of the library of templates oriented to specify a variety of numerical algorithms as well as parallel programming platforms. Visual semantic and syntactic rules have been presented defining domains with various shapes on computational structures, and various operations on those structures. The adaptation of a Movie-based program to parallel mode is implemented by modifying the shape-scanning templates according to the OpenMP programming rules. The results demonstrate that both generated sequential and parallel programs can reach a suitable performance.


Outcome

The main components of the multi-purposed Programming Platform were designed. The system allows integration of program and information components designed by different groups of developers. Accordingly, we are developed the virtual Model-View-Controller (MVC) design patterns in order to explore the other composite patterns for an efficient integration of the applications and services. Application-oriented systems were prototyped including Service-Oriented Tsunami Wave Propagation Modeling Tool and e-Learning Computational Cloud (eLC2).

Main components of the Service-Oriented Architecture (SOA) for the Tsunami Wave Propagation Modeling were developed based on adaptation of the MOST (Method of Splitting Tsunami) software package. A software tool developed allows implementing calculations remotely on the server by choosing the available computational resources via an ordinary WEB browser. The style of user communication is partially similar to the stand-alone communication interface.

The eLC2 is based on proposed a Task Management approach for e-Learning software components. We are exploring the strategy to collaborate components for automatic Task assignment, Problem generation and the Verification based on a Formula and Verification Engines that encapsulate the strategy. Wikipedia Miner services were prototyped as an Application Engine that wraps the logic of the Wikipedia Miner API in order to re-use it for different types of applications. We prototyped the WikiGloss tool, which is based on a glossing approach helping learners of English-as-second-language on an extensive reading task. The second application is an Intelligent Hints service for a Task Management Environment by providing explanatory links from relevant Wikipedia articles related to topics of the e-Learning task.

The presented research is strongly connected with the education process. About 10 undergraduate and two master students have implemented their graduation research in framework of this project. Two PhD students have also been involved in this project. One PhD thesis was completed. The Movie-based Programming software is used in Software Engineering Course at the University of Aizu. The Task Management components are planning to be used for supporting exercises of the Operating Systems Course as an extension of the Moodle system.  Some results were obtained in cooperation with the project collaborators by adaptation of their software tools to the VMVC platform.

Results of this project were published in scientific journals, presented at the international conferences as well as discussed on seminars. Totally 6 referred journal papers were published, 15 presentations at the international conferences were implemented with the accepted papers. The Joint International Conference on Human-Centered Computer Environments (HCCE2012) was held in the University of Aizu on March 8-13, 2012. The HCCE-2012 proceedings volume was identified as being a part of the International Conference Proceedings Series (ICPS) published by ACM. This conference was organized to occur one year after the Great East Japan Earthquake. We believe that this conference made an important contribution to the recovery after this devastating event. The conference program included presentations not only project participants but also collaborators from Russia and USA. This allowed evaluating the project results more precisely and making plans for future investigations.
                       Designed by Dmitry Vazhenin              
                      
Active Knowledge Engineering Laboratory
                       2009-2011