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
Last revision Both sides next revision
teaching:mfe:is [2018/04/23 09:57]
svsummer [Master Thesis in Collaboration with Euranova]
teaching:mfe:is [2020/09/29 17:02]
mahmsakr [Python driver for Trajectories]
Line 1: Line 1:
-====== MFE 2017-2018 : 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 {{:teaching:​mfe:​euranova_masterthesis_2017.pdf|here}}.+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]].
  
  
Line 25: Line 25:
   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-===== Dynamic Query Processing on GPU Accelerators ===== 
  
-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. 
  
-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 updated. The analytics problems envisioned cover wide areas of computer science and include database aggregate queries, probabilistic inference, matrix chain computation,​ and building statistical models. 
  
-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.+===== Dynamic Query Processing ​in Modern Big Data Architectures =====
  
-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.+Dynamic Query Processing refers ​to the activity ​of processing queries under constant data updates. (This is also known as continuous querying). It is a core problem in modern analytic workloads.
  
-**Validation of the approach** Validation of master thesis'​ work should be done on two levels: +Modern big data compute ​architectures ​such as Apache Spark, Apache Flink, and apache Storm support certain form of Dynamic Query Processing.
-  * 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.+
  
-**Deliverables** of the master thesis project +In addition, our lab has recently proposed DYN, a new Dynamic Query Processing ​algorithm ​that has strong optimality guaranteesbut works in a centralised setting.
-  * 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 compilerand analysis of the results.+
  
-**Interested?​** +The objective of this master thesis is to propose extensions to our algorithm that make it suitable for distributed implementation on one of the above-mentioned platforms, and compare its execution efficiency against the state-of-the art solutions provided by Spark, Flink, and Storm. In order to make this comparison meaningfull,​ the student is expected to research, survey, and summarize the principles underlying the current state-of-the art approaches.
-  * Contact : //Stijn Vansummeren//​+
  
-**Status**: available+**Deliverables** of the master thesis project 
 +     * An overview of the continuous query processing models of Flink, Spark and Storm 
 +     * A qualitive comparison of the algorithms used 
 +     * A proposal for generalizing DYN to the distributed setting. 
 +     * An implementation of this geneneralization by means of a compiler that outputs a continous query processing plan 
 +     * A benchmark set of continuous queries and associated data sets for the experimental validation 
 +     * An experimental validation of the extension and state of the art
  
-===== Complex Event Processing in Apache Spark and Apache Storm ===== 
  
-The master thesis is put forward in the context of the SPICES "​Scalable Processing and mIning of Complex Events for Security-analytics"​ research project, funded by Innoviris.+**Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]]
  
-Within this project, our lab is developping a declarative language ​for Complex Event Processing (CEP for short). The goal in Complex Event Processing is to derive pre-defined patterns in a stream of raw events. Raw events are typically sensor readings (such as "​password incorrect for user X trying to log in on machine Y" or "file transfer from machine X to machine Y"). The goal of CEP is then to correlate these events into complex events. For example, repeated failed login attempts by X to Y should trigger a complex event "​password cracking warning"​ that refers to all failed login attempts.+**Status**: taken 
 +===== Graph Indexing ​for Fast Subgraph Isomorphism Testing =====
  
-The objective of this master thesis ​is to build an interpreter/​compiler for this declarative CEP language ​that targets the distributed computing frameworks Apache Spark and/or Apache Storm as backendsGetting aquaintend with these technologies ​is part of the master thesis objective.+There is an increasing amount of scientific data, mostly 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   ​subgraphUnfortunately,​ the subgraph isomorphism problem ​is computationally intractable. In ongoing research, to enable tractable processing ​of this problem, we 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.
  
-**Validation of the approach** Validation of the proposed interpreter/​compiler should be done on two levels: +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.
-  * a theoretical level; by comparing ​the generated Spark/Storm processors ​to a processor based on "​Incremental computation"​ that is being developped at the lab +
-  * an experimental level; by proposing a benchmark collection of CEP queries that can be used to test the obtained interpreter/​compiler, and report on the experimentally observed performance on this benchmark.+
  
-**Deliverables** of the master thesis project +**Interested?** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-  * An overview of the processing models of Spark and Storm +
-  * A definition of the declarative CEP language under consideration +
-  * A description of the interpretation/​compilation algorithm +
-  * A theoretical comparison of this algorithm wrt an incremental evaluation algorithm. +
-  * The interpreter/​compiler itself (software artifact) +
-  * A benchmark set of CEP queries and associated data sets for the experimental validation +
-  * An experimental validation of the compiler, and analysis of the results.+
  
-**Interested?** +**Status**: taken
-  * Contact ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+
  
-**Status**: available 
  
 +=====Extending SPARQL for Spatio-temporal Data Support=====
  
-===== Graph Indexing ​for Fast Subgraph Isomorphism Testing =====+[[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.   
 +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.  
 + 
  
-There is an increasing amount of scientific data, mostly 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 testinggiven 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 research, to enable tractable processing of this problem, we 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.+   * Contact[[ezimanyi@ulb.ac.be|Esteban Zimányi]]
  
-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]]+====== 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.
  
-**Status**: available+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.
  
 +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).
  
-=====Sentiment Analysis=====+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.
  
  
-The sentiment analysis task aims to detect subjective information polarity in the target text by applying Natural Language Processing (NLP)text analysis ​and computational linguistics techniques. With the emergence ​of web 2.0it becomes easy for Internet users to post their opinionated comments and share their thoughts via social networksforums ​and especially TwitterWith more resources and NLP tools becoming available and with the recent developed sentiment lexicons, sentiment analysis ​is having more attention from the research communityNeverthelessNamed Entities (NEs) effectiveness was not studied even though it is easily noticeable that social resources include many NEsIn ongoing research, we aim to investigate ​the effectiveness of Named Entities (person, location and organization entities) on sentiment analysis ​and dive beyond ​the Named Entities recognition ​to propose a framework of Named Entities polarity classification and process an empirical evaluation on their effectiveness on Sentiment classification.+=====JDBC driver for Trajectories===== 
 +An important, and still missing, piece of MobilityDB is Java JDBC driverthat will allow Java programs ​to establish connections with MobilityDB, and store and retrieve dataThis thesis ​is about developing such a driverAs all other components of PostgreSQLits 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
  
-In this master thesis project, the student ​will empirically validate on real-world datasets ​the effectiveness of Named Entities (personlocation ​and organization entities) ​on sentiment analysis and run experiments on different languages (French, DutchEnglish ​and German).+As MobilityDB build on top of PostGIS, the Java driver ​will need to do the same, and build on top of the PostGIS driver. Mainly the driver will need to provide Java classes to represent all the types of MobilityDB, and access the basic properties 
  
-**Interested?​** Contact : [[haddad.hatem@gmail.com|Hatem Haddad]]+**Interested?​*
 +  ​* Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-**Status**: ​available+**Status**: ​taken
  
-=====Publishing and Using Spatio-temporal Data on the Semantic Web===== 
  
 +=====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. ​  
  
-[[http://www.w3c.org/|RDF]] is the [[http://www.w3c.org/|W3C]] proposed framework for representing information +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: 
-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 graphswhere 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. +  * GTFS static, https://developers.google.com/transit/​gtfs/​ 
-In order to do this, the original data must be transformed into Linked Open DataAlthough 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  +  * GTFS realtime, https://developers.google.com/​transit/​gtfs-realtime
-by application providers, that can build attractive and useful applications,​ in particular, for devices like mobile phones, tablets, etc+  ​* NeTEx static, http://netex-cen.eu/ 
 +  * SIRIhttp://​www.transmodel-cen.eu/​standards/​siri/ ​  
 +  * More standards can be found on http://www.transmodel-cen.eu/​category/​standards/​
  
-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. ​   
-  
  
-    * Contact: [[ezimanyi@ulb.ac.be|Esteban Zimányi]] 
  
-=====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]]+=====Visualizing spatiotemporal data===== 
 +Data visualization is essential for understanding and presenting itstarting with the temporal point, which is the database representation of a moving point objectTypically, it is visualized in a movie style, as a point that moves over a background map. The numerical attributes of this temporal point, such as the speed, are temporal floats. These can be visualized as function curves from the time t to the value v. 
  
-=====Efficient Management ​of (Sub-)structure ​ Similarity Search Over Large Graph Databases===== +The goal of this thesis is to develop a visualization tool for the MobilityDB temporal types. The architecture of this tool should be innovative, so that it will be easy to extend it with more temporal types in the future. should be This tool should be integrated as an extension of a mainstream visualization software. A good candidate is QGIS (https://​www.qgis.org/​en/​site/​). The choice is however left open as part of the survey. ​  
  
-The problem of (sub-)structure similarity search over graph data has recently drawn significant research interest due to its importance in many application areas such as in Bio-informatics,​ Chem-informatics,​ Social Network, Software Engineering,​ World Wide Web, Pattern Recognition,​ etc.  Consider, for example, the area of drug design, efficient techniques are required to query and analyze huge data sets of chemical molecules thus shortening the discovery cycle in drug design and other scientific activities. ​ 
  
-Graph edit distance is widely accepted as a similarity measure of labeled graphs due to its ability to cope with any kind of graph structures and labeling schemes. ​ Today, graph edit similarity plays a significant role in managing graph data , and is employed in a variety of analysis tasks such as graph classification and clustering, object recognition in computer vision, etc+**Interested?​** 
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-In this master thesis project, ​ due to the hardness of graph edit distance (computing graph edit distance is known to be NP-hard problem), the student ​ will investigate the current approaches that deals with problem complexity while searching for similar (sub-)structures. ​ At the end, the student should be able to empirically analyze and contrast some of the interesting approaches.  ​+**Status**: available
  
-=====A Generic Similarity Measure For Symbolic Trajectories===== +=====Data modeling of spatiotemporal regions===== 
-Moving ​object databases ​(MOD) are database systems that can store and manage ​moving ​object ​data. moving ​object is 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 sensorsthe changing values of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. There are two types of MOD. The first is the trajectory database, ​that manages the history ​of movement. The second type, in contrast, manages ​the stream of current movement and the prediction of the near future. This thesis belongs to the first type (trajectory databases). The research in this area mainly goes around proposing data persistency models and query operations for trajectory data+In moving ​object databases, a lot of attention has been given to moving ​point objects. Many data model have been proposed for thisLess attention has been given to moving ​region objects. Imagine ​herd of animals ​that moves together in the wildAt any time instant, this herd can be represented using a spatial ​region, e.g., their convex hullOver timethis regions changes place and extent. A spatiotemporal region is an abstract ​data type that can represent this temporal evolution ​of the region
  
-A sub-topic of MOD is the study of semantic trajectories. It is motivated by the fact that the semantic of the movement is lost during the observation process. You GPS logger, ​for instancewould record a sequence of (lon, lat, time) that describe your trajectoryIt won't, however, store the purpose of your trip (workleisure…)the transportation mode (car, bus, on foot, …), and other semantics of your trip. Research works have accordingly emerged to extract semantics from the trajectory raw dataand to provide database persistency to semantic trajectories+This thesis ​is about proposing a data model for spatiotemporal regionsand implementing it in MobilityDBThis includes surveying ​the literature on moving object databasesand specifically on spatiotemporal reigonsproposing a discrete data modelimplementing it, and implementing ​the basic data base functions ​and operations ​to make use of it
  
-Recently, Ralf Güting et al. published a model called “symbolic trajectories”,​ which can be viewed as a representation of semantic trajectories:​ 
-Ralf Hartmut Güting, Fabio Valdés, and Maria Luisa Damiani. 2015. Symbolic Trajectories. ACM Trans. Spatial Algorithms Syst. 1, 2, Article 7 (July 2015), 51 pages. 
-A symbolic trajectory is a very simple structure composed of a sequence of pairs (time interval, label). So, it is a time dependent label, where every label can tell something about the semantics of the moving object during its associated time interval. We think this model is promising because of its simplicity and genericness. ​   
  
-The goal of this thesis is to implement a similarity operator for symbolic trajectories. There are three dimensions of similarity in symbolic trajectoriestemporal similarity, value similarity, and semantic similaritySuch an operator should be flexible to express arbitrary combinations of themIt should accept a pair of semantic trajectories and return a numerical value that can be used for clustering or ranking objects based on their similarity. Symbolic trajectories are similar to time series, except that labels are annotated by time intervals, rather than time points. We think that the techniques of time series similarity can be adopted for symbolic trajectories. This thesis should assess that, and implement a similarity measure based on time series similarity. The implementation is required to be done as an extension to PostGIS. We have already implemented some temporal types and operations on top of PostGIS, where you can start from. +**Interested?​** 
 +  * Contact ​[[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-  +**Status**: not available
-**Deliverables** of the master thesis project +
-  * Reporting on the state of art of semantic trajectory similarity measures. +
-  * Reporting on the state of art in time series similarity measures. +
-  * Assessing the application of time series similarity to symbolic trajectories. +
-  * Implementing symbolic trajectories on top of PostGIS. +
-  * Implementation and evaluating the proposed symbolic trajectory similarity operator. ​  +
  
 +=====Scalable Map-Matching=====
 +GPS trajectories originate in the form of a series of absolute lat/lon coordinates. Map-matching is the method of locating the GPS observations onto a road network. It transforms the lat/lon pairs into pairs of a road identifier and a fraction representing the relative position on the road. This preprocessing is essential to trajectory data analysis. It contributes to cleaning the data, as well as preparing it for network-related analysis. There are two modes of map-matching:​ (1) offline, where all the observations of the trajectory exist before starting the map-matching,​ and (2) online, where the observation arrive to the map-matcher one by one in a streaming fashion. Map-matching is known to be an expensive pre-processing,​ in terms of processing time. The growing amount of trajectory data (e.g., autonomous cars) call for map-matching methods that can scale-out. This thesis is about proposing such a solution. It shall survey the existing Algorithms, benchmark them, and propose a scale out architecture. ​  
 +
 +MobilityDB has types for lat/lon trajectories,​ as well as map-matched trajectories. the implementation of this thesis shall be integrated with MobilityDB. ​
  
 **Interested?​** **Interested?​**
Line 157: Line 147:
  
 **Status**: available **Status**: available
- 
 
teaching/mfe/is.txt · Last modified: 2020/09/29 17:03 by mahmsakr