Projects
This page lists the major projects I have worked on, from the perspective of the technologies used and implementation requirements and is meant as a companion document to my CV and Job Profiles.

For those interested in the Virtual Clusters project, the project home page has much more research, design, architecture etc. information.

(To view some project files you may need Acrobat Reader and WinRAR)

Web-based Research Content Management System
Project, Jul 2007 - present

Description:
Sole designer and developer of a complete Web-based Research Content Management System for the Research Groups of the University of Westminster.

A widget-based engine supporting functionality for managing publications, projects, authors, group members and their interconnections. Further support for bibtex import (and parsing), user access level management, public page creation and manipulation, resource pages manipulation, image and file uploading, attachments, member posts and announcements, logging, internal announcements, and many more.

WAMP system with extensive usage of HTML, Javascript, and CSS for the user interface, PHP for the application logic, and SQL for communication with
the back-end MySQL database.

Utilization of PHP Sessions, and database-based authentication,
authorization, accounting, and user management system.

Other Info:
Demo site: to come soon…

Admin password: “demo”

Top

Virtual Clusters for Integrating Mobile and Limited Devices into the Grid
PhD Project, Feb 2004 - Jun 2007

Abstract:
For future generation Grid systems to be truly pervasive, they must incorporate not only high performance powerful nodes, but also ideally, every networked device that can contribute some kind of resources. The notion of resource is constantly shifting from the raw computational resources (CPU, memory, storage) required in the early high performance oriented Grid system, to any type of functionality that can extend the capabilities and applicability of modern and future pervasive and agile Grid systems. Under the latter definition, mobile and small-scale devices can significantly enhance a Grid system, with their flexibility, wireless connectivity, and increasing range of unique functionality that they offer.

In this thesis we study the subject of a complete integration of mobile and small-scale devices into Grid systems, as service providers, and not just service consumers. We introduce the Virtual Cluster proxy-based architecture, which provides a high-level, abstract view of the mobile domain as a single virtual entity, thus enabling a number of programming abstractions, and the means towards collective management of the mobile devices, imposing no restrictions on the developer and the service provider.

The main entity in realizing the virtualization of the mobile devices is the Aggregator service, which represents a group of mobile devices that offer the same type of functionality, and exposes a single, permanent, and consistent interface to functionality available in dynamic, unreliable, and limited devices. Further, a Lightweight Server-side Container suitable for limited devices is presented, that compares favourable to other similar technologies such as Web Services and RMI, which are not optimized for resource-constrained devices.

The VC platform presents efficient solutions to all design-level requirements that were set, as well as a number of issues that emerged during the implementation and testing phases, such as optimized communication models; mobility monitoring and management; dynamic discovery and automatic integration; abstracted views of the system that provide the foundations for simplified programming models; and virtualization of the resources in the VC. Having completed an extensive series of tests, we can conclude that the VC platform manages to blend efficiently the two domains of Grid and mobile computing, to form a unique, agile, and pervasive computing environment.

Description:
A proxy-based Virtual Clustering (VC) architecture that enables the integration of mobile and small-scale
devices as service providers in a Grid system. Facilitates dynamic service aggregation, cluster state awareness, and advanced reconfiguration to provide the illusion of a virtually stable and reliable environment despite the overall unreliability that characterizes mobile and small-scale devices.

The VC platform is able to integrate RMI components, network accessible JavaBeans, Web and Grid Services. Service aggregation on-the-fly is performed utilizing an interface extraction and matching component making use of WSDL preprocessing and parsing techniques, dynamic Ant deployment script construction and execution, dynamic service deployment directly compatible with the Globus Core Server, and the Tomcat/Axis Server engine, and customizable and extendable for use with other service containers.
For state awareness and advanced reconfiguration to be achieved, the platform makes use of a customized monitoring component, based on non-blocking datagram-based communications, thread pools, and mobility prediction algorithms.

Partial implementation of the WS-Notification specification (based on MI instead of WS) to inform external entities such as VC developers, of significant events in the VC such as node failures, availability of services and more.

Implementation of a collective operations framework to improve performance, distribute load of simple
data-parallel operations, improve reliability through mirrored executions, and provide asynchronous
execution wrappers –all using core Java, multithreading and thread pools, custom callback techniques, and centralized session management.

Swing based VC administrator GUI for configuration, management and central control of the virtual cluster, testing and debugging, and log viewing. Extensive usage of the Java Logging and Preferences API.

Implementation of a lightweight server-side hosting framework, suitable for limited mobile devices, that enables the exportation of Java objects, marrying the high performance of low-level sockets and object serialization with the standards-based interoperable Web Services accessibility. Designed J2ME compliant user interface. Utilized a number of J2ME CDC APIs such as the RMI OP and the Persistence APIs.

Throughout the PhD I had experience with the Globus Toolkit, Tomcat/Axis container, Sun Application Server, and XML DOM and SAX-based parsing and manipulation.

I have published a significant number of scientific papers on this project. A description of my work and a short interview were also published at the “International Science Grid This Week” online scientific magazine. I have also given a large number of related presentations.

Other Info:
The Virtual Clusters Project page

Top

Parallel Approximate String Matching in a Distributed Environment
MSc Thesis - King’s College, London, Feb 2003 - Sep 2003

Abstract:
In this report we will discuss how parallel computing can be used in order to reduce the time requirements of the problem of string matching.

We are mainly concerned about approximate string matching and we will analyze all the alternative ways in which we can modify a number of relevant algorithms in order to achieve parallelism.

We will present all parallel computing methods, but we will focus on the network of workstations and cluster models, with the communication achieved via a message-passing interface.

This report is accompanied by a fully functional application, developed in a Linux C++ environment, which was used in order to ‘measure’ the impact that this idea had to the execution time of the relevant string matching algorithms.

Description:
C++ implementation of three approximate string matching algorithms: dynamic, alternative dynamic, and
efficient. Parallelization, optimization and comparison of the algorithms using MPI in a distributed Unix
cluster. The efficient algorithm required implementations of suffix trees, with complex optimizations such
as edge-label compression, suffix links, tree partitioning, and Ukkonnen’s modifications in order to reduce
both the space and time requirements for the tree construction.

Honors/Awards:
Best MSc project across all Physical Sciences Degrees in King’s College, London.

Other Info:
Download Thesis (with pieces of source code) [PDF.rar]

Full source code available on request…

Top

King’s College Online Registration Project
MSc Group Project, King’s College, London, Oct 2002 - Jan 2003

Description:
Development of a web-based application to support King’s College online admission system.

3-tier web application consisting of Java Server Pages, the Apache Tomcat web server, and PostSQL at
the back. Undertook role as lead programmer and development coordinator. Worked on all tiers:
presentation, using HTML and CSS; application logic, using JSP, sessions, account-based user
management and access lists; and data tier with extensive use of JDBC and SQL. Greatly contributed on
the final report and demonstration.

Other Info:
Download Project Report [PDF] (coming soon…)

Source code cannot be given due to security issues…

Top

Artificial Neural Networks and Parallel Programming Using the MPI Standard
Undergraduate Thesis - Technological Educational Institute of Thessaloniki, Greece, Feb 2002 - Sep 2002

Abstract:
In this project I am thoroughly studying the Message Passing Interface Standard and trying to identify its advantages over other parallel programming models. I install and configure MPI in a Network of Workstations and as a case study I am
modifying Artificial Neural Network Learning algorithms -namely Back Error Propagation and Kohonen Self Organizing Maps- to make them run in parallel, and using MPI I distribute the workload or the independent subtasks to available machines in the network. Furthermore, I briefly describe the emerging technology of the Grid and the effort made at the Berkeley University to harness idle resources in the university’s workstations (Berkeley NoW: Network of Workstations).

Description:
C++ implementation of very complex algorithms for Artificial Neural Network Training: Kohonen Self-
Organizing Maps and Back Error Propagation Networks. Parallelization and optimization of the algorithms
using the Message Passing Interface (MPI). Execution and benchmarking in a Windows cluster of
commodity workstations. Achieved linear speedup for BEP, logarithmic speedup for Kohonen.


Honors/Awards:
Parts of the thesis currently used as educational material in the Neural Group of the Aristotle University of
Thessaloniki.

The thesis is also used as a model thesis in the InfoSystem International Exhibition of Thessaloniki at the Technological Educational Institute’s stand.

Other Info:
Download Thesis (Greek) [PDF.zip]

Source code available on request…

Top

OCR using Artificial Neural Networks
BSc Project, Technological Educational Institute of Thessaloniki, Greece, Oct 2001 - Nov 2001

Description:
Delphi implementation of several Artificial Neural Networks training algorithms. Implementation of Optical
Character Recognition algorithm to extract English letters from high-contrast images. Custom
implementation of the RLC Compression algorithm to reduce the letter input arrays to the size required for
the ANN. Delphi graphical user interface for configuration, management and training of multiple ANNs, as
well as online, file-based, and/or image OCR-based testing of the trained ANN.

Other Info:
Download the Application (Win) [EXE.zip]
Download Text/Manual (Greek) [PDF.zip], [DOC.zip]

Source code available on request…

Top


Width Narrow Page Wide Page