Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:mfe:is [2015/04/13 13:47]
svsummer
teaching:mfe:is [2019/05/13 12:01]
mahmsakr
Line 1: Line 1:
-====== MFE 2015-2016 : Web and Information Systems ======+====== MFE 2019-2020 : Web and Information Systems ======
  
 ===== Introduction ===== ===== Introduction =====
Line 18: Line 18:
 ===== Master Thesis in Collaboration with Euranova ===== ===== Master Thesis in Collaboration with Euranova =====
  
-Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found  +Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found [[https://​research.euranova.eu/​wp-content/​uploads/​proposals-thesis-2019.pdf|here]]. 
-{{:teaching:​mfe:​mt2014_euranova.pdf|here}}+
  
 These subject include topics on distributed graph processing, processing big data using Map/Reduce, cloud computing, and social networks. These subject include topics on distributed graph processing, processing big data using Map/Reduce, cloud computing, and social networks.
Line 25: Line 25:
   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-===== Automatic detection of name variations ===== 
-Toon Calders (WIT) 
  
-For this project a large data collection consisting of historical birth, death, and marriage certificates of the province of North-Brabant in the Netherlands is available. This collection contains certificates for about 3 million people, from 1580 until 1955. This collection of paper documents has been indexed by volunteers. For many of the certificates (unfortunately the index is not complete yet), the names of the people involved in it, and their role have been recorded in a database. Consider for instance the following example of an index entry for a death certificate:​ 
  
-^ Death certificate ^^ +===== Dynamic Query Processing on GPU Accelerators =====
-|Deceased |Johanna Louise Fredrika Frans | +
-|Relation of the deceased |Gerard Cornelius Reincke de Sitter | +
-|Father of the deceased |Carl Ludwig Frans | +
-|Mother of the deceased |Alida Philippina Zehender | +
-|Type of deed |death certificate | +
-|Number of deed |5 | +
-|Place |Beers | +
-|Date of decease |26-02-1825 | +
-|Period |1825 | +
-|Contains |Overlijdensregister 1825 | +
-|Number of inventory |50 | +
-|Record number |456 |+
  
-There are, however, several problems with the data recorded by the volunteers +This master thesis is put forward in the context of the DFAQ Research Project"​Dyanmic Processing ​of Frequently Asked Queries"​funded by the Wiener-Anspach foundation.
-  - Volunteers made mistakes when recording the names +
-  - Natural name variations occur; for instance, during the Napoleonic era, Willem preferred to be called Guillaume. After the French left the Netherlands,​ Willem became Willem again. Other, less spectacular variations: Fredrika versus Frederika. +
-  - Another source ​of variation is the granularity at which locations are reported. Sometimes locations have been reported at suburb or even neighborhood levelwhereas in other records only the city is reported. +
-  ​Also the original data contained errors. For instance, the order of names may have been swapped.+
  
-The goal of this graduation ​project is to automatically detect name variations ​for location and person namesusing statistical and data mining methodsBecause ​of the large size of the database it is very likely that most name variations occur frequentlyIn a pilot study, it was shown that name variations could be detected by finding pairs of full names sharing most surnames, but not all. The differences often were name variations. Your task will be to extend this approach to also include ​locationsand exploit additional background knowledge such as: for most birth certificates there is a matching death certificateno one has more than one birth and death certificate,​ etc.  +Within ​this project, our lab is hence developing novel ways for processing "fast Big Data"i.e., processing ​of analytical queries where the underlying data is constantly being updatedThe analytics problems envisioned cover wide areas of computer science and include ​database aggregate queriesprobabilistic inference, matrix chain computation, and building statistical models.
-This project has a large research component, so your creative input will be required as well. For this project it is absolutely not necessary to speak or understand Dutch.+
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+The objective of this master thesis is to build upon the novel dynamic processing algorithms being developed in the lab, and complement these algorithms by proposing dynamic evaluation algorithms that execute on modern GPU architectures,​ thereby exploiting their massive parallel processing capabilities.
  
-===== Analyzing state-of-the-art technology for handwritten text recognition in a practical case study ===== +Since our current development is done in the Scala programming language, prospective students should either know Scala, or being willing to learn it within the context ​of the master thesis.
-Toon Calders (WIT) and Olivier Debeir (LISA)+
  
-The goal of this project is to study the applicability of current state-of-the-art text recognition tools in the following practical application. Consider the following two exemplary documents: 
  
-[[https://​dl.dropbox.com/​u/​5119252/​MFE/​069-50-3165-1813-00009.jpg]] \\  +**Validation of the approach** Validation of master thesis'​ work should be done on two levels
-[[https://​dl.dropbox.com/​u/​5119252/​MFE/069-50-3165-1815-00003.jpg]]+  * a theoretical level; by proposing and discussing alternative ways to do incremental computation on GPU architectures,​ and comparing these from a theoretical complexity viewpoint 
 +  * an experimental level; by proposing a benchmark collection of CEP queries that can be used to test the obtained versions of the interpreter/compiler, and report on the experimentally observed performance on this benchmark.
  
-These two documents are scans of birth certificates (actually both are 2 birth certificates) from the Dutch city Grave. We have a huge collection of such paper documents; about 3 million, of which several tens of thousands have been scanned. Furthermore,​ we have an index on these documents, created by volunteers. This index contains, for the birth certificate,​ the name of the child, the name of the father and mother, and the witnesses. As you can see in the documents, however, much more information is available. Your task is to answer the following question: is it realistic, given the current state-of-the-art to do automatic recognition of hand-written texts such as these certificates?​ Most of the documents are very structured, with limited number of possible values (age of a person, profession),​ and there is a huge amount of training data; the names of all people have been indexed, usually the handwriting is consistent throughout a whole book with certificates. This graduation project includes a thorough literature study and experimentation with (original combinations of) state-of-the-art image recognition techniques adapted to our specific case. The project will be carried out in collaboration with the research labs WIT and LISA. 
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+**Deliverables** of the master thesis project 
 +  * An overview of query processing on GPUs 
 +  * A definition of the analytics queries under consideration 
 +  * A description of different possible dynamic evaluation algorithms for the analytical queries on GPU architectures. 
 +  * A theoretical comparison of these possibilities 
 +  * The implementaiton of the evaluation algorithm(s) (as an interpreter/​compiler) 
 +  * A benchmark set of queries and associated data sets for the experimental validation 
 +  * An experimental validation of the compiler, and analysis of the results.
  
-===== Process Mining on Company Data for Detecting Security Breaches ===== 
-Toon Calders (WIT) 
  
-According to a recent report of Price Waterhouse Cooper, the most common source of security incidents are current employees, followed at a distance by former employees and only after that truly external threats such as hactivists. [http://​www.pwc.com/​gx/​en/​consulting-services/​information-security-survey/​giss.jhtml?​region=&​industry=] ​ This observation leads to the conclusion that in an intelligent security event management system, should also concentrate on internal threats to security. +**Interested?​** Contact ​:  ​[[svsummer@ulb.ac.be|Stijn Vansummeren]]
-The goal of the thesis is to analyze the possibility of using process mining to help in the detection of silent attacksWe will concentrate on company-specific data. From this data typical behavior will be detected and modeled as a process or workflow. We consider three aspects of a workflow: the actor(s), the resources, and the activities. By modeling the normal behavior in the system we are able to detect deviating cases. Based on historical data, the goal is to build models of typical behavior, including the use of resources such as patient records. Such a system would be able to detect for instance if a certain patient record is consulted much more often than usual, or by more people, or outside of the normal workflow (e.g., only reading information,​ but not writing). Such a pattern could indicate unjustified access to for instance the patient record of a famous patient.  +
-For modeling the workflows, we propose the use of process mining (Van der Aalst, 2011). Process mining is a state-of-the-art technology concerned with the automatic extraction of process models from event logs. Consider, e.g., a hospital registering all activities that are carried out for the treatment of patients, ranging from the admission, various measurements being taken from the patient, medicine administered,​ surgical procedures, to the resignation of the patient. Process mining could be used to extrapolate from these examples, a common model of how the hospital deals with a patient. There are several applications of process mining; first it can be used to improve the processes by standardizing them; many companies and organizations may only have informal procedures. By process mining the process logs are used to extract a general model of the actual business processes. Such a model can guide the automation process.  +
-In this thesis the goal is to analyze how process mining could be used for anomaly detection; how can the discovered models be used to detect abnormal behavior in a company network? Much like in credit card fraud detection, the approach is to first model normal behavior, in this case using process mining, in order to detect diverging behavior that could indicate security breaches in the network.+
  
-Van der Aalst, W. M. (2011). Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer. 
  
 +**Status**: available
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+===== Multi-query Optimization in Spark =====
  
-===== Mining patterns for compression ===== +Distributed computing platforms such as Hadoop and Spark focus on addressing the following challenges in large systems: ​(1latency, (2) scalability,​ and (3) fault tolerance. Dedicating computing resources for each application executed by Spark can lead to a waste of resources. Unified distributed file systems such as Alluxio has provided a platform for computing results among simultaneously running applications. However, it is up to the developers to decide on what to share.
-Toon Calders ​(WIT)+
  
-Data mining is the research discipline that studies the extraction ​of information from large amounts of data. One of the typical data mining tasks is pattern mining where we try to find regularities that occur frequently in dataset. The prototypical example is that of a supermarket storing for every customer visiting the supermarketthe transaction;​ that is, the set of items that were bought by that customer. The frequent itemset mining problem now is to detect which combinations of products were more often sold together than a given threshold. One of the major problems of pattern mining algorithms, however, is the enormous amount of redundant patterns they generate; for instance, very popular items, such as toilet paper, tend to appear in many frequent combinations purely due to chance. In order to deal with this problemtechniques based upon compression ​and minimum description length were proposed to reduce the number ​of patterns. The rationale behind the minimal description length principle is that a set of patterns that describes well what is happening in the dataset should allow for a good compressionFor a collection of patterns, the quality is measured as the description length of the patterns plus the size of the data compressed with these patterns. For instance, if the pattern {bread, milk, butter} has a high frequency, we could opt to replace every occurrence of this pattern by a special code, effectively reducing the encoding length of the data. Surprisingly,​ however, the MDL principle was until now only used to rule out redundant patterns, and it has not been researched yet how well the discovered patterns actually do compress the data as compared to compression algorithms such as Lempel–Ziv–Welch.  +The objective ​of this master thesis ​is to optimize various applications running on Spark platformoptimize their execution plans by autonomously finding sharing opportunitiesnamely finding ​the RDDs that can be shared among these applications, and computing these shared plans once instead ​of multiple times for each query.
-Hence, in this highly research oriented graduation project, two research questions are central: (1) How good do non-redundant pattern sets based on MDL allow compressing data, and (2) Can we extract useful patterns from existing compression algorithms?+
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+**Deliverables** of the master thesis project 
 +  * An overview of the Apache Spark architecture. 
 +  * Develop a performance model for queries executed by Spark. 
 +  * An implementation that optimizes queries executed by Spark and identify sharing opportunities. 
 +  * An experimental validation of the developed system.
  
-===== Pattern Mining for Object Tracking ===== +**Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]]
-Toon Calders (WIT)+
  
-Pattern mining techniques are more and more often used in computer vision +**Status**: available
-to obtain features that are more discriminative than those extracted +
-using computer vision algorithms. This is true for example in content-based +
-images/​videos retrieval, indexing, classification,​ tracking, etc. However, the main +
-drawback of using traditional pattern mining techniques is their inefficiency when +
-dealing with huge set of data (for example provided by Google image or Youtube +
-for videos) or when trying to tackle real-time analysis problems. The data mining +
-community has been working on the “Big Data” problem for many years coming +
-up with promising solutions such as stream mining. The aim of this project +
-is to explore the possibility of using pattern mining in data streams for the (real-time) analysis of videos and, in particular, for object tracking.+
  
-For more extensive information regarding the context and problem setting, see the following paper:+===== Graph Indexing for Fast Subgraph Isomorphism Testing =====
  
-Toon CaldersElisa FromontBaptiste Jeudy and Hoang Thanh Lam. +There is an increasing amount of scientific datamostly from the bio-medical sciences, that can be represented as collections of graphs (chemical molecules, gene interaction networks, ...). A crucial operation when searching in this data is that of subgraph ​   isomorphism testing: given a pattern P that one is interested in (also a graph) in and a collection D of graphs (e.g., chemical molecules), find all graphs in G that have P as a   ​subgraph. Unfortunately,​ the subgraph isomorphism problem is computationally intractable. In ongoing researchto enable tractable processing of this problemwe aim to reduce the number of candidate graphs in D to which a subgraph isomorphism test needs   to be executed. Specifically,​ we index the graphs in the collection D by means of decomposing them into graphs for which subgraph ​  ​isomorphism *is* tractable. An associated algorithm that filters graphs that certainly cannot match P can then formulated based on ideas from information retrieval.
-[[http://​labh-curien.univ-st-etienne.fr/​~fromont/​|Analysis ​of Videos using Tile Mining.]]\\ +
-In: //ECML/PKDD Workshop on Real-World Challenges for Data Stream Mining//Prague2013+
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+In this master thesis project, the student will emperically validate on real-world datasets the extent to which graphs can be decomposed into graphs for which subgraph isomorphism is tractable, and run experiments to validate the effectiveness of the proposed method in terms of filtering power.
  
 +**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
-===== Design and Implementation of a Curriculum Revision Tool ======+**Status**: available
  
-Stijn Vansummeren (WIT), Frédéric Robert (BEAMS) 
  
-This MFE concers the analysis, design, and implementation of a +=====Extending SPARQL for Spatio-temporal Data Support=====
-software system that can assist in the revision of teaching curricula +
-(also known as teaching programs).+
  
-The primary targetted functionalities of the  ​software system are as +[[http://​www.w3.org/​TR/​rdf-sparql-query/​|SPARQL]] is the W3C standard language ​to query RDF data over the semantic web. Although syntactically similar to SQL,  SPARQL is based on graph matching. In addition, SPARQL is aimed, basically, to query alphanumerical data  
-follows: +Therefore, a proposal ​to extend SPARQL to support spatial data, called ​ [[http://​www.opengeospatial.org/​projects/​groups/​geosparqlswg/​|GeoSPARQL]], has been presented to the Open Geospatial Consortium  
-  * It should allow to make different versions of the teaching programsmuch in the same way as version control systems like GIT and subversion offer the possibility ​to make different "​development branches"​ of a program'​s source code+  
-  * It should ​ allow an extensible means to check the modified program for inconsistentcies(For exampleif course X has course Y as prerequisite,​ then course Y should not be scheduled in 2nd semester and X in 1st semester. Moreover, ​the total number of ECTS of all courses should be at most 60 ECTS) +In this thesis we propose ​to (1) perform an analysis of the current proposal for GeoSPARQL; ​(2) study of  current implementations of SPARQL ​that support spatial data; (3implement simple extensions for SPARQL to support spatial ​dataand use these language in real-world use cases.  
-  * It should allow to analyze ​the modifications proposed in the teaching programs, and summarize the impact that these changes could have on other programs. ​(For example, if course is removed from the computer science curriculum, it should be flagged ​that it should also be removed from all curricula that included the course.) + 
-  * It should load data from (and preferably, save data to) the ULB central administration database.  +
-  * It should give suggestions concerning the impact of the modifications on the course schedules.+
  
-A proof-of-concept implementation of a revision tool that supports the first two requirements above is currently being developed in the context of a PROJH402 project. The MFE student that selects this topic is expected to:+   * Contact[[ezimanyi@ulb.ac.be|Esteban Zimányi]]
  
-  * Develop this prototype to a production-ready implementation. 
-  * Implement the communication with the central ULB database. 
-  * Implement the impact analysis concerning the course schedules. 
-  * Interact with the administration of the Ecole Polytechnique to fine-tune the above requirements;​ test the implementation;​ and integrate remarks after testing 
  
-Contact ​Stijn Vansummeren <stijn.vansummeren@ulb.ac.be>Frédéric Robert <​frrobert@ulb.ac.be>+====== MFE 2019-2020 ​Spatiotemporal Databases ====== 
 +Moving object databases (MOD) are database systems that can store and manage moving object dataA moving object is a value that changes over timeIt can be spatial (e.g.a car driving on the road network), or non-spatial (e.g., the temperature in Brussels). Using a variety of sensors, the changing values of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. A couple of prototypes have also been proposed, some of which are still active in terms of new releases. Yet, a mainstream system is by far still missing. Existing prototypes are merely research. By mainstream we mean that the development builds on widely accepted tools, that are actively being maintained and developed. A mainstream system would exploit the functionality of these tools, and would maximize the reuse of their ecosystems. As a result, it becomes more closer to end users, and easily adopted in the industry.
  
 +In our group, we are building MobilityDB, a mainstream MOD. It builds on PostGIS, which is a spatial database extension of PostgreSQL. MobilityDB extends the type system of PostgreSQL and PostGIS with ADTs for representing moving object data. It defines, for instance, the tfloat for representing a time dependant float, and the tgeompoint for representing a time dependant geometry point. MobilityDB types are well integrated into the platform, to achieve maximal reusability,​ hence a mainstream development. For instance, the tfloat builds on the PostgreSQL double precision type, and the tgeompoint build on the PostGIS geometry(point) type. Similarly MobilityDB builds on existing operations, indexing, and optimization framework.
  
-=====Publishing ​and Using Spatio-temporal Data on the Semantic Web=====+This is all made accessible via the SQL query interface. Currently MobilityDB is quite rich in terms of types and functions. It can answer sophisticated queries in SQL. The first beta version has been released as open source April 2019 (https://​github.com/​ULB-CoDE-WIT/​MobilityDB).
  
 +The following thesis ideas contribute to different parts of MobilityDB. They all constitute innovative development,​ mixing both research and development. They hence will help developing the student skills in:
 +  * Understanding the theory and the implementation of moving object databases.
 +  * Understanding the architecture of extensible databases, in this case PostgreSQL.
 +  * Writing open source software.
  
-[[http://​www.w3c.org/​|RDF]] is the [[http://​www.w3c.org/​|W3C]] proposed framework for representing information 
-in the Web. Basically, information in RDF is represented as a set of triples of the form (subject,​predicate,​object). ​ RDF syntax is based on directed labeled graphs, where URIs are used as node labels and edge labels. The [[http://​linkeddata.org/​|Linked Open Data]] (LOD) initiative is aimed at extending the Web  by means of publishing various open datasets as RDF,  setting RDF links between data items from different data sources. ​ Many companies ​ and government agencies are moving towards publishing data following the LOD initiative. 
-In order to do this, the original data must be transformed into Linked Open Data. Although most of these data are alphanumerical,​ most of the time they contained ​ a spatial or spatio-temporal component, that must also be transformed. This can be exploited ​ 
-by application providers, that can build attractive and useful applications,​ in particular, for devices like mobile phones, tablets, etc.  
  
-The goals of this thesis are: (1) study the existing proposals ​for mapping spatio-temporal data into LOD; (2) apply this mapping ​to a real-world case study (as was the case for the [[http://​www.oscb.be/|Open Semantic Cloud for Brussels]] project; (3) Based on the produced mapping, ​and using existing applications like the [[http://linkedgeodata.org/|Linked Geo Data project]], build applications that make use of LOD for example, ​to find out which cultural events are taking place at a given time at a given location. ​   +=====JDBC driver ​for Trajectories===== 
- +An important, and still missing, piece of MobilityDB is Java JDBC driver, that will allow Java programs ​to establish connections with MobilityDB, and store and retrieve data. This thesis is about developing such driverAs all other components of PostgreSQL, its JDBC driver is also extensibleThis documentation gives a good explanation of the driver ​and the way it can be extended: 
 +https://jdbc.postgresql.org/documentation/​head/​index.html 
 +It is also helpful ​to look at the driver extension for PostGIS: 
 +https://​github.com/​postgis/​postgis-java
  
-    * Contact: [[ezimanyi@ulb.ac.be|Esteban Zimányi]]+As MobilityDB build on top of PostGIS, the Java driver will need to do the same, and build on top of the PostGIS driverMainly the driver will need to provide Java classes to represent all the types of MobilityDB, and access the basic properties 
  
-=====Extending SPARQL for Spatio-temporal Data Support=====+**Interested?​** 
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-[[http://​www.w3.org/​TR/​rdf-sparql-query/​|SPARQL]] is the W3C standard language to query RDF data over the semantic web. Although syntactically similar to SQL,  SPARQL is based on graph matching. In addition, SPARQL is aimed, basically, to query alphanumerical data.   +**Status**available
-Therefore, a proposal to extend SPARQL to support spatial data, called ​ [[http://​www.opengeospatial.org/​projects/​groups/​geosparqlswg/​|GeoSPARQL]],​ has been presented to the Open Geospatial Consortium. ​  +
-  +
-In this thesis we propose to (1) perform an analysis of the current proposal for GeoSPARQL; (2) a study of  current implementations of SPARQL that support spatial data; (3) implement simple extensions for SPARQL to support spatial data, and use these language in real-world use cases.  +
- +
  
-   * Contact: [[ezimanyi@ulb.ac.be|Esteban ​Zimányi]] +=====Mobility data exchange standards===== 
- +Data exchange standards allow different software systems to integrate together. Such standards are essential in the domain of mobility. Consider for example the case of public transportation. Different vehicles (tram, metro, bus) come from different vendors, and are hence equipped with different location tracking sensors. The tracking software behind these vehicle use different data formats. These software systems need to push real time information to different apps. To support the passengers, for example, there must be a mobile or a Web app to check the vehicle schedules and to calculate routes. This information shall also be open to other transport service providers and to routing apps. This is how google maps, for instance, is able to provide end to end route plans that span different means of transport. ​   
 + 
 +The goal of this thesis is to survey the available mobility data exchange standards, and to implement in MobilityDB import/​export functions for the relevant ones. Examples for these standards are: 
 +  * GTFS static, https://​developers.google.com/​transit/​gtfs/​ 
 +  * GTFS realtime, https://​developers.google.com/​transit/​gtfs-realtime/​ 
 +  * NeTEx static, http://​netex-cen.eu/​ 
 +  * SIRI, http://​www.transmodel-cen.eu/​standards/​siri/ ​  
 +  * More standards can be found on http://​www.transmodel-cen.eu/​category/​standards/​ 
 + 
 + 
 + 
 +**Interested?​** 
 +  ​* Contact : [[ezimanyi@ulb.ac.be|Esteban ​Zimanyi]] 
 + 
 +**Status**: available 
 + 
 +=====Visualizing spatiotemporal data===== 
 +A temporal point is a database representation of a moving point object. This can be a car, a person, etc.    
 + 
 + 
 +**Interested?​** 
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]] 
 + 
 +**Status**: available
 
teaching/mfe/is.txt · Last modified: 2020/09/29 17:03 by mahmsakr