You are here

Previous offers

TITLE: Data and time-aware Synthetic Log Generator [THESIS]

TOPIC DESCRIPTION: 
In the field of process mining, benchmark execution logs are of the utmost importance for testing, validating and comparing process mining tools and techniques. 
Unfortunately, real-life benchmarks are often difficult to find, thus hampering the assessment and validation of the research in process mining. 
A possibility to overcome such a big issue is synthetically generating execution logs starting from a business process model, which can also be enriched with data and temporal constraints.
Purpose of the thesis is realizing a tool for the generation of synthetic logs starting from an enriched business process model (e.g., enriched with data or time constraints).

PREREQUISITES

  • Programming skills (preferably Java)

COMPETENCIES TO BE ACQUIRED

  • Knowledge on business process modelling languages (BPMN).
  • Knowledge on log representation and standards (XES).
  • Knowledge and analysis of business process replay algorithms
  • UI programming skills.       

=====================================================================================

TITLE: Change Propagation between Business Rules and Process Models

TOPIC DESCRIPTION: 
In real world situations it often happens that (procedural) business process models have to be compliant to some constraints (e.g., laws, policies, standards). 
In these situations, whenever a change occurs in the rules, the process model has to be changed accordingly (i.e., the change has to be propagated to the process model), in order to guarantee that the compliance is preserved. 
It can happen, however, that business process models evolve over the time and the rules become obsolete. 
In this scenario, a change in the process model has to be propagated to the rules. 
Purpose of this work is investigating how to propagate changes from the rules to the process models or vice versa so as to preserve compliance. 

PREREQUISITES: 

  • Programming skills

COMPETENCIES TO BE ACQUIRED: 

  • Knowledge on business process modelling languages (Petri Net, BPMN).
  • Knowledge on declarative process modelling languages (Declare).
  • Knowledge on process    

=====================================================================================

TITLE: Declarative Hierarchical Process Editor [STAGE+THESIS]

TOPIC DESCRIPTION: 
While the notion of hierarchy has been widely investigated in the literature for procedural process models in terms of languages for describing and applications of the process/subprocess relationship, it is still a relatively young field for declarative process models.  
No tools or instruments supporting the modeling of hierarchical process models are currently available.
Purpose of this thesis is implementing a tool which could support the modeling of hierarchical declarative process models and investigate its advantages in terms of understandability and reuse.

PREREQUISITES:

  • Programming skills (preferably Java)

COMPETENCIES TO BE ACQUIRED: 

  • Knowledge on process modelling declarative languages (Declare).
  • Knowledge on Linear Temporal Logics (LTL).
  • UI programming skills.

=====================================================================================

TITLE: Multilingual knowledge matching

TOPIC DESCRIPTION:
The purpose of this stage, that can be estended also for a thesis, is to investigate on using multilingual technologies for matching ontologies and processes.
The tasks assigned to the candidate will be (i) the extension of the current version of the system with feature for refining the current approach; (ii) the development a set of API in order to expose the platform as matching service; and, (iii) the refactor of the existing source code.

PREREQUISITES:

  • Java programming;
  • Ontologies;
  • Basic knowledge of existing linguistic resources like WordNet.

COMPETENCIES TO BE ACQUIRED:

  • Improve the development capabilities with the Java language
  • Knowledge of Semantic Web technologies

===================================================================

TITLE: Incremental Predictive Monitoring of Business Processes [STAGE+THESIS]

TOPIC DESCRIPTION: 
Predictive monitoring of business processes aims at providing predictions on the execution of business processes by learning from the past. 
Traditional approaches to predictive process monitoring are based on a training phase, in which training data are used to learn, and a running phase in which the future of current ongoing traces is predicted. 
However, as soon as the future of the current trace becomes present, more up-to-date training data is made available.
Purpose of the thesis is investigating incremental machine learning algorithms in order to be able to incrementally update the predictive model and provide more accurate and up-to-date predictions.

PREREQUISITES: 

  • Programming skills (preferably Java).

COMPETENCIES TO BE ACQUIRED: 

  • Knowledge and analysis of ML online and incremental algorithms.
  • Knowledge on business process predictive monitoring.
  • Knowledge on log representation and standards (XES).

=====================================================================================

TITLE: Deep knowledge extraction from text

Ontology Learning is the task to extract formal knowledge from natural language text. State of the art methods typically use hand-crafted rules over the result of standard Natural Language Processing (NLP) toolkits. Such rules are hard to build and maintain and unable to capture large part of the natural language variability. We building an entirely machine-learning system based on Deep Learning techniques which is able to learn such rules, to cover a larger variability over natural language and to be extended in a cheaper way. The first step of this journey is to build a significative dataset and some benchmark for this task and to validate the approach over them. You will surf the web searching for suitable data to be collected, cleaned up and annotated. Then, you will help developing neural network based models to be trained and evaluated over such data.

PREREQUISITES:

  • Being a B.Sc. or M.Sc. student in computer science

  • Working knowledge of Java/Scala (Apache Spark or similar is a plus) and Python (TensorFlow or Theano is a huge plus)

  • Basic knowledge of Neural Networks

  • Basic knowledge of typical NLP tasks

COMPETENCIES TO BE ACQUIRED:

  • Improve your programming skills in Java/Scala and/or Python using bleeding-edge technologies for data analytics (Apache Spark and TensorFlow) and NLP toolkits (like the Stanford CoreNLP toolkit and PIKES)

  • Improve your knowledge being in the sweet spot among Deep Learning, Natural Language Processing and Knowledge Extraction/Representation

  • Improve your confidence with tools and methodologies which are required in high profile developers and engineers.

====================================================================

TITLE: Business Process Repair
DESCRIPTION: Few approaches have been proposed in the literature for evolving process models on the base of
current executions (traced in execution logs) deviating from the original models. In all these
approaches, the focus is mainly on control flow aspects, while neglecting data produced by activities.
Recently, however, the importance of data in business processes, has notably increased: approaches to enrich process models with data (e.g., how activities manipulate data) and standards to specify data in process execution logs are growing up.

Purpose of the work is enriching current approaches for process model repair, by taking into account also data produced by activities. Specifically this data can be exploited for evolving both the control flow as well as modeling constraints imposed on data (e.g., how activities manipulate data) in the process model.

===================================================================

TITLE: Deep Learning design and applications

TOPIC DESCRIPTION:
Deep learning is a trend machine learning topic concerning the use of neural networks for any learning purposes.
Possible deep learning applications varying from classification problems to more complex solutions related to natural language processing and information retrieval activities.
In this stage, that can be extended also for a thesis, the student will work with the Deeplearning4j [1] library, a Java library dedicated to deep learning able to work by using both CPU and GPU architectures.
The activities will be related to:

understand how the deeplearning4j library works and the topology of neural networks that can be build;
design neural network templates in order to easing the start-up process for future activities;
understand the interactions between different kind of layers; - focus on using recurrent and convolutional neural networks for natural language processing tasks;
explore the use word embedding strategies into different problems.
PREREQUISITES:

Knowledge of neural networks.
Knowledge of the Java language.
Knowledge of the machine learning topic.
COMPETENCIES TO BE ACQUIRED:

Improve competencies on machine learning.
Increase specific competencies in designing effective neural networks for addressing different kind of problems.
Improve development capabilities, especially concerning the management of big datasets.
Acquire competencies on working with different software and hardware architectures (GPU, parallel and distributed programming, etc.)

[1] https://deeplearning4j.org

===================================================================

TITLE: On the marriage between ontology reasoning and temporal reasoning

TOPIC DESCRIPTION:
The objective of the work is to investigate and develop a framework where ontology concepts, as well as relations, have a formal temporal characterization. Hence, the traditional ontology reasoning tasks should be suitably augmented with temporal reasoning. Ontologies will be formalized by means of description logics and the temporal properties with linear-time temporal logic (LTL).

A practical example follows. We are interested in formalizing (business) processes and their relationships. Such processes, when taken in isolation, can be declaratively expressed as a set of (LTL) temporal formulas. However, in several complex scenarios, they cannot be considered by themselves but rather connected with each other. The more natural way to express semantic connections among entities is an ontology, but now the semantics of relations should be augmented with temporal reasoning. As instance, a possible relation between two processes may be “A isSubprocessOf B” which intuitively means that each time B is performed then also A should (sooner or later) be performed. This can be easily be expressed as an LTL formula, and how to exploit such temporal semantics together with the ontology semantics (and their respective reasoning capabilities) is the purpose of this work.

Depending on the personal preferences of the student, this project can take a theoretical path, such as investigating the logical aspects behind the framework, as well as a more practical one, which focuses on the integration of ontology modeling/reasoning tools with temporal reasoning tools.

====================================================================

TITLE: Semantic Sentiment Retrieval

DESCRIPTION:
An unexplored challenge is the retrieval of documents where ranks are computed not only by considering query terms, but by profiling their sentimental meaning for inferring the order desired by the user.
An example is the query: "Smartphones with best display."
Here, well-known IR techniques will simply look for reviews containing the terms "smartphone" and "best" and "display", but they are not able to rank the results based on the quality of the smartphones displays.
The purpose of this thesis is to explore this direction by creating:
- a semantic-linguistic resource able represent different degrees (or level) of adjective-strength;
- a simple prototype of a semantic sentiment retrieval system;
- a benchmark for evaluating the system.
Prerequisites for this project are:
- Java programming;
- Information retrieval, knowledge of semantic representations/annotations of documents are a plus;
- Natural language processing with a focus (or interest) in sentiment analysis and opinion mining.

===================================================================

TITLE: Verification of compliance between normative documents and business process

DESCRIPTION:
The purpose of this thesis is to realize a prototype able to verify the compliance of a business process by starting from a normative document.
Such a verification is performed by applying the deontic logic paradigm for validating if a business process is compliant with respect to a set of rules automatically extracted from natural language texts.
In order to accomplish this task, the following modules have to be implemented:
Module 1: to extract text from natural language documents and to represent it in a structured way in order to ease its manipulation;
Module 2: to implement a fine-grained parser for extracting significant portions of text (namely "terms") corresponding to business process tasks;
Module 3: to use deontic logic (obligation, permission, prohibition) formalism for defining relations between terms;
Module 4: to design and to apply algorithm for verifing the compliance the business process compliance with respect to deontic clauses.
The prerequisites for working on this project, based on which module is of interest, range over natural language processing and description logics.

===================================================================

TITLE: Project on implementing data structures and algorithms for explicit finite-state machine manipulation

DESCRIPTION:
The purpose of the project is to analyze, design, project and implementing data structures and algorithms needed for first-order explicit finite-state machine manipulation.

More precisely, the automata manipulation libraries publicly available handle proposi- tional formulas only. Instead, we would provide mechanisms to handle also first-order tem- poral formulas. Roughly speaking, automaton whose transitions are labeled with first-order formulas will be used.
To achieve the purpose, all phases prior to implementation are of crucial importance as data structures and operations must be as general and modular as possible (traditional design patterns may help). The output of each phase, such as the UML class diagram and code documentation, are considered part of the project and must be provided along with the code.
Finally, the algorithms of interest are: determinization, minimization and least and great- est fixpoint computations. Such algorithms require satisfiability of formulas, hence, when dealing with first-order, restrictions such as finite domain should be put in place to achieve decidability. The student is strongly encouraged to use state-of-the-art sat solver and/or first-order reasoners. Since we are working with existing libraries for automata manipula- tion written in Java, that is the suggested programming language.

===================================================================

TITLE: A formal framework for specifying and verifying purpose-aware policies

DESCRIPTION:
Data privacy represents a critical issue in IT systems. The problem of guaranteeing that data are accessed and processed in compliance with privacy regulations and user preferences has been extensively studied in literature and a number of technical solutions have been proposed. However, such solutions are based on a purely access control mechanism which grants or denies access to data by analyzing user or group privileges. Recent years, instead, have seen a growing scientific awareness of the concept of purpose in data privacy settings, which focuses on the motivation data are used for. Even though the purpose plays a key role in the privacy regulations, existing privacy protection mechanisms are not appropriate for purpose control. 

The objective of the project is to develop a framework for verifying the data usage with respect to a purpose. Such a framework should comprise not only the formalization of the concept of purpose but also relationships between purposes, so as to capture complex organizational settings. The idea is to use formal languages to capture both such aspects in order to automatically verify that a sequence of data access is compliant with the specified purposes. After that, the student is asked to demonstrate the effectiveness of the theoretical framework by applying it on a practical usage scenario.

==================================================================

TITLE: Recommendations for Process Executions

DESCRIPTION: Predictive monitoring of business processes aims at providing predictions on the execution of business processes by learning from the past. Being aware of how the system will evolve in the future, IT also offers hints for recommending at runtime the best activity to execute next and the data to provide in order to increase the likelihood of accomplishing a certain goal. According to the goal that has to be accomplished, the most suitable activity or input data can be suggested and recommended to the process executor.

==================================================================

TITLE: Tuning Parameters in Predictive Monitoring of Business Processes

DESCRIPTION: Predictive monitoring of business processes is a young and emerging field in the Business Process Management area. It aims at providing predictions on the execution of business processes by learning from the past. For instance, recent works focused on the prediction of constraint violations and fulfillments or on the time required for a constraint to be permanently fulfilled or violated by exploiting past process executions stored in execution traces.

The techniques used for predictions, however, usually demand for a number of parameters to be tuned. Purpose of this work is the definition and implementation of an algorithm for the exploration of the configuration parameter space in order to automatically tune the parameters based on the specific datasets and prediction type.

==================================================================

TITLE: Deviance Mining

DESCRIPTION: Deviance mining aims at identifying business process cases that deviate from the standard behavior (e.g., process executions that do not respect a constraint, process executions that are slower than expected, etc.) and at explaining the reasons why those cases present a deviance based on the control flow and the data flow characteristics of the process cases.

Purpose of the work is identifying and explain deviant behaviors using declarative rules to describe control flow and the data flow characteristics of the process cases.

====================================================================

TITLE: LTL synthesis based on game-structures

DESCRIPTION:
The synthesis problem, which amounts to automatically obtain a program/process from a set of specifications expressed in logical formulas is rooted on the famous A. Church’s realizability problem. We study a specific form of synthesis where the problem is reduced to a game between two opponents, called “system" and “environment", each of which controls a set of propositional variables, i.e., he can decide its variables’ truth values. The program specifications, expressed as a temporal formula, encode the game’s rules, namely, how the players move, and the game objective, that is, the winning states. The synthesis problem amounts to find a strategy (if it exists) for the system player, namely, a way to assign truth values to the so-called “controllable” variables, so as the specifications are always satisfied, no matter how the environment moves, that is, no matter how it assigns truth values to its “non-controllable” variables.
Such a problem has been extensively studied for specifications expressed in LTL with infinite-trace semantics, and only recently on finite-trace semantics. While in the first case intrinsic algorithmic difficulties rise, since to solve the problem it is necessary to determinize the automaton representing the game, in the second case the game is represented by a finite-state machine, for which efficient determinization algorithms exist. The candidate should first study the synthesis theoretical framework and then implement the algorithm that solves the problem by using an existing library for automata generation of LTL/LDL formulas (finite-trace semantics). As a further extension, the student can implement the algorithms needed to solve the synthesis problem when game states are only partially observable. Both problems are of interest in the artificial intelligence setting, since the classical synthesis allows to solve conditional planning problems, while the second allows to solve conditional planning problems with partial knowledge/observability of the world.

====================================================================

TITLE: Predictive Process Analytics

DESCRIPTION: 
Predictive monitoring of business processes aims at providing predictions on the execution of business processes by learning from the past. Being aware of how the current process executions will evolve in the future offers the possibility to provide useful (aggregated) metrics for the analysis of the possible outcomes of the current instances. Purpose of this work is providing analysts with a powerful predictive analytics tool for the analysis of the future trend of the current process executions. 
Prerequisites: Programming skills (preferably Java)

====================================================================

TITLE: Predictions with Complex Symbolic Sequences

DESCRIPTION: 
Predictive monitoring of business processes aims at predicting the outcome of an ongoing case providing predictions on the execution of business processes by learning from the historical execution traces. This work considers execution traces as complex symbolic sequences, that is, sequences of events each carrying a data payload. Purpose of the work is exploiting different feature encodings of complex symbolic sequences together with different machine learning techniques to compare their predictive accuracy on real-life business process event logs. 
Prerequisites: Programming skills (preferably Java)