Integration Systems Modeling and Analysis

Integration Systems is a research topic and as such has received significant attention from the research community over the last years. The main motivation is the growing need for data exchange and reuse of functionality between applications in the context of enterprise software. These applications support business processes and are commonly not designed and developed to collaborate. Decentralised technologies such as blockchains integrated with smart contracts are emerging technologies aimed at the decentralisation of systems and applications that are unnecessarily centralised; they bring innovative ideas and concepts that have the potential to facilitate the development of disruptive decentralised systems and applications that are more scalable, reliable and secure. Examples, of such applications are Decentralised Finances (DeFi) based on unregulated and regulated cryptocurrencies, such as Bitcoin and CBDC (Central Bank Digital Currencies), respectively. This research line investigates the application of blockchain and smart contracts in the context of integration processes modelling and implementation. We investigate how to formally express contractual agreements to be able to detect accidental or intentional violations to the agreed commitments, programmatically. We also want to explore emerging Trusted Execution Environments (TEE) and related technologies in the market. The TEEs under examination include Intel SGX, ARM trustzone, AMD virtualisation, Amazon AWS Nitro Enclaves available from the cloud, and attestables built on the basis of hardware capabilities included on the Morello Board platform released by ARM for evaluation purposes. Specific topics of interests include Domain-specific languages for writing smart contracts used in integration systems, performance analysis and optimisation of runtime engines that compose the integration systems, data protection and data privacy in digital services integration in the context of smart cities.

Key-words: application integration, system integration, blockchain, smart contracts, integration frameworks, integration platforms, domain-specific languages, performance analysis, runtime optimisation, petri nets, trusted execution environments.

Data Integration and Analysis

Data Science is an interdisciplinary area that combines computer science, domain expertise, statistics and math to extract knowledge from normally heterogeneous and large volumes of data retrieved from different sources. This research line investigates methods, processes, techniques, algorithms and tools to extract useful information from raw data available from different data sources. We are interested in developing applications for data integration, data mining and data analysis applied primarily in the domains of health, education and agriculture. In our research, we follow a computational approach that takes advantage of latest advances in artificial intelligence (IA), Internet of Things (IoT), big data, data analytics, decision support systems, machine learning, and recommender systems.

Key-words: artificial intelligence (IA), internet of things (IoT), big data, data analytics, decision support systems, machine learning, data science, statistical analysis, and recommender systems.

Software Engineering

The current Internet is full of software systems that have been supporting the daily activities of people and organisations for decades. These systems are becoming increasingly network-connected, complex, large and insecure; to exacerbate the problem, they have to operate in dynamic environments that are continuously afflicted by changes. The development and maintenance of these systems is a challenge and has motivated software developers to adopt a systematic, organised, and quantifiable approach. In this research avenue, our research group studies methodologies, techniques, general-purpose and domain-specific languages for the modelling and developing high-quality software systems. We also investigate software reuse, software quality assurance, software evolution, and experiment languages such as Java, Python, PHP, Javascript for web, desktop, and mobile applications.

Key-words: software reuse, software quality, software evolution, software maintenance, programming languages, web development, desktop applications.