1 Personalia

Image WernerGrayHead

Name: Dr. Werner Van Belle
e-mail: werner@sigtrans.org, werner.van.belle@gmail.com
Webpage: http://werner.sigtrans.org/
Address: Entenweidstrasse 4, CH-4056 Basel, Switzerland
Phone: Work: (+41) 61 387 31 91

Date of birth: 21 June 1975
Place of birth: Anderlecht, Belgium
Nationality: Belgian

Marital Status: Not married
Military Service: None; not obligatory in Belgium since 1975
Drivers License: B (cars and small motorcycles). No practice since 1995

Languages: Dutch & English


Contents

2 Expertise & Education

My expertise lies in three distinct areas: a) bioinformatics (detailed in section 4.1.4, 4.1.2, 4.1.3 & 4.1.1), b) signal processing (detailed in section 4.2.1, 4.2.2, 4.1.4 & 4.1.3) and c) distributed systems (detailed in section 4.3.4, 4.3.3, 4.3.2 & 4.3.1);. My education summarized by the dissertations,

I work on a project by project basis. Projects needs to be well defined, with clear objectives and well defined roles of the various partners. Projects needs also be limited in timespan; between 6 months to 48 months.

3 Previous Employment

Employer Group Position Start Date $\rightarrow$ End Date Time
VUB

Abbreviations: VUB = Vrije Universiteit Brussel (Brussels University); UiTø = University of Tromsø; UNN = University Hospital of Northern Norway; BSSE = Department for Biosystems Science and Engineering

4 Projects

4.1 Bioinformatics


4.1.1 Deep Sequencing Facility Basel [PSC, TRX, PH]

From March 2008 to March 2009 I was responsible for setting up a primary analysis pipeline for the Deep Sequencing Facility in Basel. This included various aspects among which understanding the Illumina software but also administrative issues such as sample tracking and data delivery. In the end, this project was at an impasse. With on one side an IT department that refused to do what we needed (making backups, installing web servers and installing databases was 'not their job') and on another side a research department that did not see the need for an official software project because they did not want to understand the basic steps of software engineering: requirement analysis, system design, implementation, validation etc. This part of the work was highly unrewarding, even to the point that I left the DBSSE entirely.

A second aspect of my work at DBSSE was research on how to analyze genomic signal track and how to find useful relations between these tracks. To this end I tested a number of novel approaches on Human Histone Methylation and Acetylation patterns. This was very interesting and offered a number of novel insights.


4.1.2 Micro Array Confidence Intervals and Protein Interaction Map Integration [MK5, FKRP, TAF4]

In connection with the Virology department of the University Of Tromso, I investigated the measurement accuracy of the microarray facility. This resulted in the development of a new technique in which confidence intervals on all the measured dots are reported. This information was further used to integrate a protein interaction map and predict which proteins are likely influenced by/will likely influence MK5.


4.1.3 Bioinformatics 2DE Gel Signal Analysis [P53]

In connection with Haukeland University Hospital (Bergen) we investigated P53 (a protein related to cell life and death and its gene is often mutated in cancer). We received bio-signatures of P53 expression for various leukemia patients and got the challenge to analyse these. First we needed to remove various artifacts from the images, including camera geometry artifacts, washing and drying effects, scratches, bubbles, light conditions and translational, rotational and zooming variances. In this research we developed a novel denoising technique. Afterwards, alignment was necessary and the analysis of the actual data. This led to a novel analysis technique that is being patented.


4.1.4 Maldi Tof Denoising

MALDI-TOF mass spectrometry is a well known and widely used technique to fingerprint and sequence proteins. However widely used, the signal output of these machines often contain disturbing artifacts such as static tones, linearly up-sweeping tones, exponentially decaying tones and probabilistic pulse trains. Their presence reduces the accuracy of peak localization and might introduce phantom peaks. This further complicates a) automatic selection of peaks, b) makes it impossible to normalize mass spectrogram's and c) in general reduces the performance of high throughput proteomics. We developed a) a number of specialized algorithms to remove these artifacts, based on wavelets, and b) a number of techniques to automatically assign confidence scores to peaks, based on auto-correlation techniques and machine modelling. The combination of the presented techniques allow for an accurate and automated sample analysis, which in turn helps in the determination of the sample content.

4.2 Audio Analysis


4.2.1 BpmDj

In 2001 I created a fully automatic BPM counter to measure the tempo of music. This is done by autocorrelation, which in itself is not a new technique, however at that moment the use of this technique to measure the tempo was entirely new. Over the years this program has been extended to recognize sound spectra, rhythmical information, ambiance and compositional information. This allows the program to automatically select matching songs, cluster them and visualize them using a PCA analysis. More information can be found at http://bpmdj.sourceforge.net/. The current modules include

Tempo module - Five different tempo measurement techniques are available of which auto-correlation and ray-shooting are most appropriate. All analyzers in BpmDj make use of the Bark psycho-acoustic scale. The spectrum or sound color is visualized as a 3 channel color (red/green/blue) based on a Karhunen-Loéve transform of the available songs.

Echo/delay Modules - Measuring the echo characteristics is based on a distribution analysis of the frequency content of the music and then enhancing it using a differential auto-correlation.

Rhythm/composition modules - Rhythm and composition properties rely on correct tempo information. Rhythm relies on cross correlation and overlaying of all available measures. Composition relies on measuring the probability of a composition change after $x$ measures.

From an end-user point of view the program supports distributed analysis, automatic mixing of music, distance metrics for all analyzers as well as clustering and automatic classification based on this information. Everything is tied together in a Qt based user interface.


4.2.2 CryoSleep Mood Induction

Cryosleep is a program that generates soothing brainwaves relying on the bi-aural effect. I developed this from 2003 to 2005 and has proven to be a very popular download. The value of the program comes both from its unique noise shaped frequency spectrum (the sounds are very 'friendly' to listen to) and its free availability at http://werner.onlinux.be/Cryosleep. Cryosleep relies on a power-law to alternate the composition and on the bark psycho-acoustic scale for frequency selection.

4.3 Distributed Systems


4.3.1 Ship to Shore Protocols [Dualog]

In 2006 I became involved with ship to shore protocols -or- how to solve very practical network problems with the following requirements: a) the off-boat interface can change at any time, but the internal network needs to stay fully connected b) how to bring up/down outgoing links; c) how to control incoming and outgoing connections based on current cost-rate and d) how to install a least cost routing engine on such a router ? To approach this problem we investigated NuFw, IPv6 and Mobile IP.


4.3.2 Concurrency API Conflicts in Open Distributed Systems [PhD]

From 2001 to 2003 I wrote my PhD, a monograph titled ``Creation of an Intelligent Concurrency Adaptor in order to mediate the Differences between Conflicting Concurrency Interfaces''. It contained 14 distinct chapters, of which 10 standing independent. The full text is available on my homepage. In summary, I investigated a particular problem of open distributed systems namely: concurrency management between components written by different manufacturers. All too often, the concurrency-strategy provided or required by a component is badly documented and rarely matches the concurrency strategy provided or required by other components. Whenever this happens there is a concurrency interface conflict. Solving such conflicts can require a substantial amount of manpower, especially because in open distributed systems components can be updated without prior notification and without guarantees that new interfaces are backward compatible. Concurrency behavior modifications can range from syntactic modifications over slight semantic differences to completely new concurrency strategies. For example, changing a nested locking strategy to a non-nested locking strategy or changing a non-blocking server to work in a blocking manner.

I approached the presented problem by automatically generating a concurrency interface adaptor between various provided an required concurrency behaviors. This process required the formal documentation of the involved concurrency interface by means of colored Petri-nets. Once these are available, a concurrency adaptor is deployed in two stages. The first stage learns how to reach various check points in both the server code and client code, thereby bypassing the concurrency behavior entirely. Then the second stage observe the requested state in the client and realizes it in the server by linking together the common functional Petri-net places (a functional place is one not related to the concurrency strategy).


4.3.3 Distributed Embedded Systems [Seescoa]

I have been fully involved in the SEESCOA project, which stands for ``Software Engineering for Embedded Systems using a Component Oriented Approach''. The project ran from October 1999 till September 2003. 4 academic partners were involved: 1) the VUB (Vrije Universiteit Brussel) with PROG ('Programming Technology Lab') and SELL (Laboratory for Software engineering). 2) the PARIS research group of the RUG ('Rijks Univeristeit Gent'). 3) the DISTRINET research group of the KUL (Katholieke Universiteit Leuven) and 4) the EDM Research group ('Expertise for digital media') of the LUC ('Limburgs Universitair Centrum').

The IWT funded the main chunk of the project with 2 mil EUR. 6 industrial partners were involved. These were: Siemens, Barco-Graphics, Agfa Gevaert, Imec, Philips and Alcatel. Key points of this period:


4.3.4 Mobile Multi Agent Systems [Borg]

During 4 years I've been the creator and maintainer of the Borg mobile multi agent system. We viewed a mobile multi-agent as a standalone component that can communicate with other agents and migrate between places (processors). Our research aimed to conceive a distributed system and language that would allow the development of such mobile agents, without presenting the agent programmer with non functional aspects such as connection establishment, fault tolerance and so on.

During this time I researched which distribution aspects one can hide (at an acceptable price) and which ones not. In the end we were able to shield the programmer from finding the communication partners. We provided transparent communication, location transparent migration and transparent replication. We were unable to hide concurrency management (due to its inherent complexity). Therefore we developed a set of control flow modules that abstrahate around typical usage scenarios (whiteboard communication, one-to-many, many-to-one and voting patterns). Later on, this led to the applicability of Petri-nets as a modeling technique.

The Borg mobile multi agent system uses the educational language Pico as its basis. It was developed by my former adviser and due its proper memory and stack discipline enabled strong migration already in 1998. Key-points of this period:

5 Dissemination

* is the corresponding author. $\dag $ are equal contributors.

The publications and presentations below only include those related to computer science. See the full length CV for a complete overview. The file CV-cs excludes all abstracts.

5.1 Publications

1. Werner Van Belle${}^\star$${}^\dag $, Jessie Dedecker${}^\dag $; Ambient Actors as a Formalism for Ubiquitous and Mobile Computing; Handbook for Ubiquitous and Mobile Computing; American Scientific Publishers; October 2006

Networks formed by the interconnection of mobile wireless devices are often called mobile ad-hoc networks. Such networks are highly volatile because communication partners can move in and out of range. This leads to unwanted interruptions of communication sessions, which in turn complicates the development of software that relies on a long term distributed state. Standard solutions seem inadequate because all too often they assume an inherent client server role or they assume a bound latency on communication sessions. One cannot make such assumptions in mobile ad-hoc networks. In order to resolve this matter a programming model must support the ability to pick up previous communication sessions; it must remember the devices/resources it has seen in the past; and it must provide a realistic approach towards concurrency, taking into account the limitations of a peer to peer ad-hoc network. This article presents the ambient actor model which extends the operational semantics of the actor model to capture the limitations posed by this novel paradigm


2. Werner Van Belle${}^\star$; Dj-ing under Linux with Bpmdj; Linux+ Magazine; nr 25; October 2006

BpmDj provides the digital DJ with QT based tools to analyze, manage and play mp3/ogg songs. The program annotates all songs with psychoacoustic properties, including tempo, sound color, echo/delay information, rhythm information and composition information. The program relies on mplayer, ogg123 and/or mpg123 to decode songs while output is send through alsa or oss drivers. This article demonstrates beatmixing (how a DJ can superimpose two songs during longer times) and automixing (how BpmDj can mix music for you). It further sheds some light on the psychoacoustic properties used and a feature called beatgraphs.


3. Jessie Dedecker${}^\dag $, Werner Van Belle${}^\star$${}^\dag $; Actors for Mobile Ad-Hoc Networks (The Ambient Actor Model); Proceedings of Embedded and Ubiquitous Computing (EUC2004); Springer Verlag; Lecture Notes in Computer Science (LNCS 3207); Editor(s) Aizu-Wakamatsu; pages 482-494; August 2004

Wireless communication has a limited communication range which introduces two major problems, currently not captured in distributed middleware. First, they are less reliable than their wired variants and secondly they are extremely dynamic. Both problems complicate the development of mobile software. In this paper we extend the operational semantics of the actor model to capture these two properties. We do this by adding a single new concept to the model: the mailbox. This paper provides a foundation for new implementations of the actor language and frameworks that are usable in the context of wireless network environments.


4. Jessie Dedecker${}^\star$, Werner Van Belle, Wolfgang De Meuter; Actors for Pervasive Computing; Proceeding of the workshop on reference architectures and patterns for pervasive computing (OOPSLA2003); June 2003

The position we defend in this paper is that asynchronous communication patterns are to be considered to be the main communication paradigm in pervasive applications and that the actor model, which relies on such a form of communication, needs extenstion to be practical useful.


5. Werner Van Belle${}^\star$, Tom Mens, Theo D'Hondt; Using Genetic Programming to Generate Protocol Adaptors for Interprocess Communication; Evolvable Systems: From Biology to Hardware, Proceedings of the 5th Intl. Conference on Evolvable Systems (ICES2003); Springer Verlag: Lecture Notes in Computer Science (LNCS 2606); Editor(s) Andy M. Tyrrel and Pauline C. Haddow and Jim Torresen; pages 422-433; March 2003

As mobile devices become more powerful, interprocess communication becomes increasingly more important. Unfortunately, this larger freedom of mobility gives rise to unknown environments. In these environments, processes that want to communicate with each other will be unable to do so because of protocol conflicts. Although conflicting protocols can be remedied by using adaptors, the number of possible combinations of different protocols increases dramatically. Therefore we propose a technique to generate protocol adaptors automatically. This is realised by means of genetically engineered classifier systems that use Petri nets as a specification for the underlying protocols. This paper reports on an experiment that validates this approach.


6. Werner Van Belle${}^\star$, Karsten Verelst, Kristof Van Buggenhout, Theo D'Hondt; Is Message Sending Good enough for Distributed Systems ? Communication and synchronisation revisited; Accepted for publication in the proceedings of the Distributed Object Workshop at the European Conference on Object Oriented Programming 2001 (ECOOP 2001); June 2001

This position paper looks at current day distributed object systems. In most of these systems we see a basic building primitive which offers us the needed distribution capabilities. Most of the time this is a synchronous or asynchronous message send. We argue that this is not good enough for distributed systems. Choosing the 'message-send' as primitive operation creates too many problems and creates the illusion that writing distributed programs is as easy as 'calling an object'. This is not true. In this paper we would like to present our ideas about this and hope to provoke some discussion about them.


7. Werner Van Belle${}^\star$, Johan Fabry, Karsten Verelst, Theo D'Hondt; Experiences in Mobile Computing: The CBorg Mobile Multi-Agent System; Technology of Object-Oriented Languages and Systems (TOOLS 38): Components for Mobile Computing; IEEE Computer Society Press; Los Alamitos, California; Editor(s) Wolfgang Pree; pages 7-18; March 2001

This paper reports on our experiences in the field of mobile components. In the past 4 years we developed a mobile component system, which allowed us to experiment with code mobility in distributed systems. These experiments have given us a unique opportunity to study two major issues in mobile component systems. The first issue is how to develop and provide a robust mobile component architecture. The second issue is how to write code in these kinds of systems. This paper discusses our experience in both of the above.


8. Werner Van Belle${}^\star$, Karsten Verelst, Theo D'Hondt; The CBorg Mobile Multi-Agent System; Edited Volume on Infrastructures for Large-Scale Multi-Agent Systems; ACM; October 2000

This paper describes the design behind an experimental mobile multi agent system we have built over the past 4 years. The architecture itself is called Cborg. The objective was to create an architecture which can be easily used to implement intelligent autonomous agents in a wide area network.


9. Stefan Van Baelen${}^\star$, David Urting, Werner Van Belle, Viviane Jonckers, Tom Holvoet, Yolande Berbers, Karel De Vlaminck; Towards a unified terminology for component-based development; Submitted to ECOOP 2000; June 2000

Component-oriented programming and component-based development have become rather mature software development approaches in the last years, with both quite good conceptual and technological support. In spite of this rapid growth, the concepts used when talking about components are not always well-defined and can lead to misconception, misunderstanding and confusion. Although the general, abstract definition of a component, as defined at WCOP96: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties. is widely accepted, a lot of confusion can arise when characteristics of components are described.


10. Werner Van Belle${}^\star$, Theo D'Hondt; Agent mobility and Reification of Computational State; International Proceedings of Infrastructures for Agents, Multi-Agent Systems and Scalable Multi-Agent Systems; Springer Verlag; Lecture Notes in Artifical Intelligence (LNAI 1887); Editor(s) Tom Wagner and Omer Rana; pages 166-173; June 2000

This paper describes an experiment with mobility in multi-agent systems. The setting is a virtual machine that supports reification of the computational state of a running process. The objective is to investigate how this feature facilitates telescripting and to speculate on how languages like Java should evolve to include the resulting notion of strong migration.


11. Werner Van Belle${}^\star$, Karsten Verelst, Theo D'Hondt; Location Transparent Routing in Mobile Agent Systems - Merging Name Lookups with Routing; 7th IEEE Workshop on Future Trends of Distributed Computing Systems; IEEE Computer Society Press; Los Alamitos, California; Editor(s) A. Denise Williams; pages 207-212; December 1999

Telecommunication systems these days are moving from static wide area component structures towards highly dynamic mobile infrastructures. This shift requires new algorithms to interconnect these mobile entities/components and route messages between them. In this paper we describe a naming and routing algorithm which can be used in fine-grained mobile component systems. As a case we use a homogenous environment of mobile multi-agent systems, which executes agents as they pass by.


12. Wolfgang De Meuter${}^\star$, Kris De Volder, Werner Van Belle, Tom Tourwe, Theo D'Hondt; Prototype Based agents for the Web; Proceedings of the European Conference on Object Oriented Programming 1997 (ECOOP 1997), workshop on Prototype-Based Object-Oriented Programming; September 1997

NULL


5.2 Hobby Research Articles

1. Werner Van Belle${}^\star$; An Adaptive Filter for the Correct Localization of Subimages: FFT based Subimage Localization Requires Image Normalization to work properly; Signal Processing; Yellowcouch Scientific; 11 pages; October 2007

How to find subimages with the fast fourier transform ? It is well documented how Fourier transforms can speed up image alignment. The cross-correlation of an image can be calculated as the inverse Fourier transform of the inproduct of the Fourier transform of the first image and the conjugated Fourier transform of the second image. However, when one tries to extend this useful relation to locate subimages in larger images we find that it no longer performs properly. In this document we describe a fast normalization method that makes it possible to use the standard Fourier based cross-correlation technique for subimage localization. The technique relies on a low pass filtering followed by an adaptive contrast enhancement.


2. Werner Van Belle${}^\star$; Correlation between the inproduct and the sum of absolute differences is -0.8485 for uniform sampled signals on [-1:1]; Signal Processing; Yellowcouch Scientific; November 2006

While investigating relations between various comparators and the inproduct we found that the inproduct correlates strongly towards the absolute difference when the domain from which the values are taken come from a uniform distribution on [-1:1]. This useful relation might help to speed up block comparison in content databases and can be used as a valuable tool to estimate the inproduct based on the absolute difference and vice versa


3. Werner Van Belle${}^\star$; Antenna Finding and Interpolation/Extrapolation of Signal Strength; November 2006

This article investigates the possibility to determine the position of a WiFi antenna by sampling the environment using a standard wireless card. The method is based on a search algorithm (simulated annealing) in a renormalized antenna model. The article further documents a sample acquisition phase in which a static wireless card measured the local environment. This might allow the integration of various oscillatory phenomena into the model.


4. Werner Van Belle${}^\star$; Observations on spectrum and spectrum histograms in BpmDj; September 2005

BpmDj Is a program for DJ's. It helps to select songs and play them. To achieve this the program relies on a number of signal processing techniques. One of the available techniques compares song spectra. Both a standard spectrum analysis is performed as well as a distribution analysis ('echo' characteristics). In this short article we describe how this property is calculated and how it is further used in song comparison. We also present a short analysis of the structure of the space using correlation techniques.


5. Werner Van Belle${}^\star$; BPM Measurement of Digital Audio by Means of Beat Graphs & Ray Shooting; October 2004

In this paper we present a) a novel audio visualization technique, called beat-graphs and b) a fully automatic algorithm to measure the mean tempo of a song with a very high accuracy. The algorithm itself is an easy implementable offline search algorithm that looks for the tempo that best describes the song. For every investigated tempo, it steps through the song and compares the similarity of consecutive pieces of information (bass drum, a hi-hat, ...). Its accuracy is two times higher than other fully automatic techniques, including Fourier analysis, envelope-spectrum analysis and autocorrelation.


6. Werner Van Belle${}^\star$; The Failure of the Connectionless Model and the Vice Software Model; February 2004

We investigate a number of modularity problems that arise from using a connection-less software model. A connection-less approach leads naturally to an unmanaged use of direct references. This results in crucial software composition complications such as the inability to replace objects, difficulties to track outgoing messages, difficulties in writing glue-codehidden communication. As a solution to these problems, we present our connection oriented software model, Vice. Its reflective design makes that it surpasses existing architectures in its modularity, manageability and performance.


7. Karsten Verelst${}^\star$, Werner Van Belle, Theo D'Hondt; The Reflective Virtual Machine; June 2001

We claim that current day reflective architectures do not offer sufficient functionality, and that new developments in computer science push us towards a stronger reflective model: reflective virtual machines. We have witnessed these shortcomings in the application domain of mobility. Strong mobility is very difficult to implement in today's programming languages, mainly because of the inability to capture the program's computational state. Therefore we propose a new reflective architecture, the reflective virtual machine, that offers sufficient support for applications in mobility. In this paper we will first describe the basic functionality a mobile agentplatform should offer. This shall be done using a solution to the malicious host problem as a case. After identifying these needs we will introduce an interpreter, the Reflective Virtual Machine, that offers sufficient reflection, so that mobile applications can be straightforwardly implemented.


8. Karsten Verelst${}^\star$, Werner Van Belle, Theo D'Hondt; Communication & Synchronization in Mobile Multi-Agent Systems, CSP Revisited; Submitted to workshop 23 at ECOOP 2000; March 2000

We have created a communication model by extending an imperative language with 4 simple communication primitives. It turns out that these four primitives are very versatile and cover a large portion of existing communication protocols such as CSP and Actor systems. Our communication model offers both synchronous and asynchronous communication in an easy-to-use communication model. This is achieved by extending an imperative language with 4 communication primitives. Because we desire asynchronous means of communication, our main communication primitives, send and receive, both work asynchronous. We have also included a sync-primitive that synchronizes two processes, and thus synchronous communication can be simulated. The fourth primitive, newagent, is used to create new agents. In this document we first introduce these communication primitives with the help of some examples. Next we give an example that demonstrates the use of our communication model. This example already gives a hint of the great expressive power of our communication language and in the last part of this document we show that our communication model can simulate the behaviour of more well-known protocols, such as CSP, Pi-calculus, actor-systems, RMI and others.


9. Werner Van Belle${}^\star$; Reinforcement Learning as a Routing Technique for Mobile Multi Agent Systems; June 1998

Nowadays, a number of mobile multi agent systems are designed and implemented at a variety of research labs. Most of these systems suffer from a major problem: location transparency. Most systems do not implement this, and the few of them which do are not robust towards changes in the network topology and/or absolutely imperformant in wide area networks. In this paper we present a naming scheme and a location transparent routing algorithm, based upon reinforced Q learning, which is robust and performant.


5.3 Deliverables & Technical Reports

1. Werner Van Belle${}^\star$; Ship to Shore Communication; DUALOG Deliverable; 30 pages; August 2006

This document describes the possible problems of developing a realtime ship to shore IP4 connection over various media such as satelite links and wifi antennas. It focuses mainly on a Linux based solution.


2. Werner Van Belle${}^\star$; Stepwise Tempo Changes in BpmDj; May 2006

kbpm-play provides an algorithm that automatically changes the play-rate from its current speed back to normal speed. A first version of the software relied on a linear change of pace, which turned out to be slightly wrong. In this short article we describe what went wrong and how to do it right.


3. Werner Van Belle${}^\star$; Component Oriented Design of the SEESCOA Common Test Case: The Controller and Zoom Behaviour; SEESCOA Deliverable 3.5; 10 of 126 pages; October 2001

This document describes the design of two components in the seescoa component system: the controller (or directory service, responsible for interconnecting most components) and the zoom behavior, responsible for providing linkage between the behaviour of two or more cameras.


4. Werner Van Belle${}^\star$; Refinement of the SEESCOA Component Architecture; SEESCOA Deliverable 3.4; 36 pages; October 2001

This document describes the refinements we have made to the component architecture over the past 9 months. First we describe some of the esthetic things we've added to the system. These smaller refinements include the addition of a port principle. We've changed the initialisation procedure of components and other small things. In general this first section describes how one can use the component system now. The second part of this document describes some larger design enhancements, mainly to see with reification of components. This section delves a bit deeper into the component system. It discusses the why and how of the architecture. The last part describes how the component system has been made to work in a distributed context. This section also discusses why we didn't use Jini for making the component system distributed.


5. Werner Van Belle${}^\star$, David Urting; The SEESCOA Component System; SEESCOA Deliverable 3.3b; 62 pages; January 2001

Most real-time embedded systems are, by nature, multitasking solutions to real-world problems. They typically deal with the interface and control of multiple eternal devices. The different parts of these systems usually run at different priorities and with different run-time characteristcis. The notion of multiple tasks or threads being active in the system at the same time is common. Many of these real-time systems are deployed on a set of microprocessors in a distributed architecture. Designing a solution for this type of problem requires a view other than object oriented systems. This document describes the component system we developed. It describes how it should be used when programming components and it describes how the wystem itself can be adpated. The document is split in 4 parts. The first part describes what a component is and gives a good idea how to think about components (at implementation level). This part is based upon the 'Component Working Definition' deliverable. This section also contains a description of the Component System and what it is supposed to cover. The second part is a discussion about 'event based' vs 'thread based'. The third part describe how we actually can write a component. This is mainly a tutorial. The fourth part describes how we can use and tune the component system to suit our needs.


6. Werner Van Belle${}^\star$${}^\dag $, Tom Toutenel${}^\dag $, Viviane Jonckers; Real Time UML; SEESCOA Deliverable d2.1; 26 pages; April 2000

This document reports on task 2.1: an extensive literature study of existing modeling techniques for real time embedded systems. These include UML-RT, UML for Embedded Systems, Octopus, ROOM and others


7. Werner Van Belle${}^\star$, David Urting, Koen Debosschere, Yolande Berbers, Viviane Jonckers, Chris Luyten, Tom Toutenel; Working Definition of Components; SEESCOA Deliverable 1.4; 19 pages; April 2000

Most real-time embedded systems are, by nature, multitasking solutions to real-world problems. They typically deal with the interface and control of multiple external devices. The different parts of these systems usually run at different priorities and with different run-time characteristics. The notion of multiple tasks or threads being active in the system at the same time is common. Many of these real-time systems are deployed on a set of microprocessors in a distributed architecture. Designing a solution for this type of problem requires a new adapted view to components. This document describes the definition of a component and component system, as it will be used in the SEESCOA project. The definition is split in three parts: The first part describes what a component is and gives a good idea how to think about components. The second part describes the requirements and the responsibilities of a component system. The component system is the context in which a component has to operate. The third part looks at some additional characteristics and issues concerning components and the component system.


8. Koen Debosschere${}^\star$${}^\dag $, Theo D'Hondt${}^\dag $, Yolande Berbers${}^\dag $, Viviane Jonckers${}^\dag $, Werner Van Belle${}^\dag $, Chris Luyten${}^\dag $, David Urting${}^\dag $, Tom Toutenel${}^\dag $; Common Test Case; SEESCOA Deliverable 1.3; 10 pages; April 2000

This document reports on task 1.1: visits at the companies of the user group by the partners of the consortium. One of the objectives of this task is: Choice of one common test case that will be worked out in detail during the project. This case should be chosen to be as representative as possible, and its size should be such that it can be developed in the foreseen timeframe, integrating the results obtained during the first 2 years. The output of this activity is deliverable D1.3: description of typical applications that will be used as lighthouse and of the chosen common test case.


9. Werner Van Belle${}^\star$${}^\dag $, Tom Toutenel${}^\dag $; Philips Visitation Report; SEESCOA Deliverable; 24 pages; April 2000

Philips Belgium consists of a number of sites with different responsibilities. We listened to 5 speakers of the divisions Philips TASS, Philips ITCL, Philips Hasselt DVS (Digital Video Systems) & Philips Brugge UTV (Upmarket TV). Each speaker gave a presentation of the software development process in his division. This chapter summarizes these presentations and reflects the insight the consortium gained in Philips' development process.


5.4 Presentations

1. The Illumina GA II Sequencing System; presented at Department of Computer Science; ETH Zurich; Zurich, Switzerland, October 2008

2. Deep Sequencing Unit: Information Infrastructure; presented at ETH Zurich in Basel, Switzerland, April 2008

3. BpmDj and some High Level Concepts for Data Flow programming; presented at PLEIAD laboratory of the Computer Science Department of the University of Chile (Faculty of Engineering), Chile, January 2008

4. Concurrency Adaptation using Learning State Machines; presented at the computer science department of the university of Aberdeen, United Kingdom, August 2006

5. Data Driven Programming: Change Nets; presented at Norut IT, Tromso, Norway, November 2005

6. From Connection-less over Connection-oriented towards...; presented at the Computer Science Departement, University of Tromø, Norway, January 2004

7. The Development of an Intelligent Concurrency Adaptor in order To Mediate The Differences between Conflicting Concurrency Interfaces; presented at the Vrije Universiteit Brussel, Public Session PhD Defense, Belgium, November 2003; the Vrije Universiteit Brussel, Closed Session PhD Defense, Belgium, September 2003

8. Automatic Generation of Concurrency Adaptors for Multi Agents; presented at the International Conference on Evolvable Systems 2003 (ICES03), Trondheim, Norway, March 2003

9. Adaptor Generation for Concurrency Interface Conflicts by Means of Petri-nets and Genetic Algorithms; presented at Institut f¨ur Informatik (IAM), Universit¨at Bern, Bern, Switzerland, November 2002

10. Automatic Adaptor Generation by Means of Evolution; presented at the Programming Technology Lab, Vrije Universiteit Brussels (PROG/VUB), Belgium, May 2002

11. The Component Architecture; presented at Siemens ATEA, Herentals, Belgium, April 2002

12. Borg, a Way to hapiness in distributed environments: differences with pico; presented at the Prototype Meeting at the Programming Technology Lab (PROG), Vrije Universiteit Brussel, Belgium, December 2001

13. Building Components for Mid-Scale Embedded Systems: What Kind of Infrastructure do we Need: the Component Architecture; presented at Philips TASS, Brussels, Belgium, December 2001

14. The Component System a bit further; presented at the SEESCOA Meeting Brussels, Belgium, October 2001

15. Concurrency Guarding and Error Resolution: Genetic Programming; presented at the Programming Technology Lab, Computer Science Department, Vrije Universiteit Brussel, Belgium, September 2001

16. About the lack of concurrency control primitives in Open Distributed Object Systems; presented at the European Conference on Object Orientd Programming 2001 (ECOOP 2001), workshop 17 on object oriented distributed systems, Budapest, Hungary, June 2001

17. The Pitfalls of the Connectionless Component Model; presented at Inno.com, Beersel, Belgium, April 2001

18. Experiences in Mobile Computing: The CBorg Mobile Multi-Agent System; presented at the Conference on Technology of Object Oriented Languages and Systems, Eastern Europe (TOOLSEE 2001): Components for Mobile Computing, Zurich, Switzerland, March 2001

19. The Component System so far; presented at the SEESCOA User Group Meeting in Gent, Belgium, January 2001

20. Glueing Components in Wide Area Neworks; presented at the Programming Technology Lab, Computer Science Department, Vrije Universiteit Brussel, Belgium, November 2000

21. The CBorg Mobile Multi Agent System: An Overview; presented at the Company Contact Presentation organized by the Programming Technology Lab (PROG), Vrije Universiteit Brussel, Belgium, August 2000; Ecole des Mines de Nantes, France, June 2000

22. Agent Mobility and Reification of Computational State, an Experiment in Migration; presented at the European Conference on Object Oriented Programming 2000 (ECOOP 2000), Cannes, France, June 2000

23. Software Modelling Techniques for Embedded Systems; presented at a SEESCOA User Meeting, Belgium, April 2000

24. Components; presented at a SEESCOA User Meeting, Belgium, March 2000

25. Location Transparent Routing in Mobile Multi Agent Systems: Merging Name Lookups with Routing; presented at Conference on Future Trends in Distributed Computing (FTDCS 1999), Cape Town, South Africa, December 1999

26. Applicability Of UML/RT to Embedded Systems; presented at a SEESCOA Meeting at the Katholic University of Leuven, Belgium, November 1999

27. Gevalstudie Mobiele Multi-Agent Systemen: CBorg; presented at the SEESCOA Kick-off meeting, Computer Science Department (DISTRINET), Katholic University Leuven (KUL), Belgium, October 1999; the FKFO meeting Antwerpen, Universitaire Installing Antwerpen, Belgium, September 1999; the Katholieke Universiteit Leuven, Belgium, December 1998; the FKFO meeting Antwerpen, Universitaire Instelling Antwerpen, Belgium, December 1998

28. Positie Optimalisaties Mobiele Multi-Agent Systems: stand van zaken; presented at the Programming Technology Lab, Computer Science Department, Vrije Universiteit Brussel, Belgium, November 1998

6 Academic Track

6.1 Teaching

1. Theory and Exercises 'Concurrent Systems' - given at the VUB, academic year 2000-2001 for Franklin Vermeulen, aimed at the 3th year computer science, Vesalius college.

2. Exercises 'theory of database systems' - given at the VUB, academic year 1998-1999 for Robert Meersman, aimed at the 3th year of computer science.

3. Exercises 'Graphics' - given at the VUB, academic years 1998-2000 (2), for Theo D'Hondt, as an optional course in the 2nd cycle of the computer science curriculum.

4. Exercises 'Algorithms and Data Structures' - given at the VUB, academic year 1998-1999 (1), for Theo D'Hondt, aimed at the 2nd year computer science.

5. Exercises 'Distributed Systems' - given at the VUB, academic years 1998-2003 (5), for Marnix Goossens, aimed at the 2nd cycle of the standard computer science curriculum, the 2nd cycle of the applied computer science curriculum and the 3th year in teleinformatics.

6. Project guidance for a computer science course on Systems - given at ETH Zü rich, for Nessime Tatbul in conjunction with Nihal Dindar.

6.2 Adviser

6.2.1 Master Theses

1. User Interface for Mobile Agent; Tan Jiaming; 1997-1998

2. Print Spooling: a Critical Approach Toward a Specific Problem in a Hybrid Environment; Dominique Kindt; 1997-1998

3.* A Critical Evaluation of Distributed Collaborative Computer Applications; Stefan Van de Velde; 1997-1998

4.* A Study of Communication Models for Mobile Multi Agent Systems; Karsten Verelst; 1998-1999

5. Combining Components using Control Flow Components; Philippe Demaecker; 1999-2000

6. Applicability of Mobility, a Case Study; Frederick Nyssens; 2000-2001

7.* Shagger: a Distributed File Sharing Community with Transparent User Management and Adaptive Replication; Wim Boffe; 2000-2001

8.** A Strategy to Generate a Scheduler for Time Critical Programs by means of Finite State Machines; Jessie Dedecker; 2000-2001

9. Applications for Code Mobility on Handheld Devices; Enzhen Luo; 2000-2001

10. Synchronisation & Communication in Mobile Multi Agents Systems: CSP Revisited; Jannes Pockele; 2000-2001

11.* Using a Declarative Language to support Concurrency Management in Mobile Multi Agent Systems; Kristof Van Buggenhout; 2000-2002

12. Quality of Service for Mobile Multi Agent Systems; Cedric Van Rykel; 2001-2002

13. Reflection by means of JIT compilation; Paul Henri van der Steichel; 2001-2002

14. Distributed Application Serving using Mobile Agents; Koen Bailleul; 2001-2002

15.* Transparent Fault Tolerance for Mobile Multi Agent Systems; Pieter Verheyden; 2001-2002

16. [Sensor only] Distributed Transaction Management - A Simulation; Weihai Pan; 12 Dec 2004; Computer Science Department, Universiyt Tromso

6.2.2 Doctoral

1. Modularizing Advanced Transaction Management; Tackling Tangled Aspect Code; Johan Fabry

2. Jessie Dedecker with his Phd on Pervasive Applications

6.2.3 EU

Jury Member for CETRIL (Centre Européen de Transfert et de Recherche en Informatique Libre) in 2006.

7 Varia

7.1 Training Courses

  1. Illumina Intermediate Course on Deep Sequencing Chesterford - 23 April 2008

7.2 Computer skills

Operating Systems: MSDOS, MS Windows (3.11, 95, 98, NT), Linux (Slackware, Debian, Gentoo), Solaris & SunOS

Programming Languages: Python, Jython, C, C++, Pascal, Prolog, Lisp, Scheme, Java (1.1.2, 1.1.8, 1.3.1, 1.4.0, 1.4.1), Pico, Borg; Libraries: QT, MFC,...

Middleware: OrbixWeb, Aglets, Voyager,...

Databases: MSAccess, MySQL, PostgressSQL...

Methodologies: UML (MSC's), OMT, Petri-Net Modelling, Room, Real-Time UML...

7.3 Student Organization: Infogroup

From November 1995 till December 1997 I was a board member of the student organization 'Infogroup'. This internal VUB organization was responsible for maintaining the computer rooms available to students, distributing course notes and maintaining a library of computer science books. I was active as system administrator and course manager. Key-points of this period:

7.4 Conference Organization

The Programming Technology Lab of the VUB was responsible for the organization of ECOOP'98, a well known conference on software engineering by means of objects/aspects/components. I've been responsible for the setup and maintenance of the visitors computer rooms.


Werner 2009-01-05