I am interested in investigating new technologies that contribute to increased environmental, social, and economic sustainability. Moreover, I am interested in exploring possibilities and consequences of the digital transformation of organizations and future mobility. I worked on building a sustainable business ecosystem for the batteries of electric vehicles by analyzing the market scenarios, studying the processes and relationships between the stakeholders, and reviewing the enablers and ecosystems. Currently, I am collaborating with different European organizations to build an energy community platform where different services e.g., optimization, forecasting, market analysis, and gamification are provided to support energy consumers and producers.
Keywords: Sustainability; System Engineering; Future Mobility
See Publications
AI and ML represent an important evolution in computer science and data processing that is quickly transforming a vast array of industries. I am interested in investigating the potential of using AI for supporting the software engineering process, including software architecture, design and modeling, and communication activities. Moreover, I am interested in exploring challenges and opportunities that may arise from applying software engineering principles to support the engineering of intelligent AI-systems.
Keywords: Software Engineering; Artificial Intelligence; Machine Learning
See Publications
MBSE is a software development approach in which models play an important role. The research goal is to understand and support software design in model-based software and system engineering. Empirical methods including case studies and experiments are used to gain knowledge and increase understanding of MBE practices.
Keywords: Software Engineering; Software Systems Design and Architecture; Model-Based Software and Systems Engineering; Human Aspects; Development Collaboration and Communication; Development Efforts; Empirical Software Engineering; Human-Computer Interaction
See Publications
The advent of autonomous and connected vehicles has brought new cyber-security challenges to the automotive industry and put the requirement on vehicles to be designed to remain dependable in the occurrence of cyber-attacks. The research goal is to design secure systems that are resilient to security threats and attacks. I conducted research on supporting the design of secure software execution environments in automotive systems. Moreover, I explored collaborative ways of attack analysis and response when an attack is in progress on the vehicles of one fleet.
Keywords: Security and Safety; Resilience Software and Systems Engineering; Automotive Systems
See Publications
The course provides an introduction to scientific writing, techniques for reference management, information retrieval, literature review, source criticism, information evaluation, and oral presentation.
The course provides an introduction to statistics using R. The goal of this course is to provide the students with the required knowledge to perform statistical analysis when conducting empirical software engineering projects.
The course provides an introduction to software architecture. It is tailored for software development practitioners at organizations. The learning objectives are to: (i) learn basic principles of software architecture, (ii) understand decomposition and modularity, (iii) learn strategies for migrating from Monoliths to Micro-services, and (iv) learn about architecture documentation and communication.
This project course addresses issues relevant for software engineering for systems that use artificial intelligence (AI) techniques such as machine learning or large-scale parallel data processing. This includes a discussion of the value that can be created through the use of AI. At the same time, technological and architectural foundations of software systems using AI techniques and handling large amount of data are discussed.
The aim of this course is to equip students with basic knowledge and skills about software architecture design and its role in the development and maintenance of software systems. This course covers various definitions of software architecture. We discuss the role and relevance of software architecture at different stages of development projects; we discuss the relation of architecture to requirements and system implementation; we discuss software architecture quality properties; we discuss various architectural styles and tactics; we discuss general software design principles; we discuss how to document and how to evaluate software architectures.
The purpose of this course is to familiarise the student with situations, activities, and techniques typical for software evolution, such as adding a new feature, refactoring, automating variability or testing, improving performance, re-balancing non-functional requirements, and so on. Furthermore, students learn to plan, implement, and reflect on software evolution scenarios and improvements.
The course provides a practical introduction to Software Engineering. Students work on an open problem that is defined by stakeholders outside of the students' team. That means that students will not be able to define the project they work on themselves. In order to address this challenge, students will learn:
This course describes object-oriented system development by applying UML models. To do this, it shows how to move from informal descriptions of systems to formal models, and how to relate these models to each other and to code. This means both learning the fundamentals of UML, but also how to reason in object-oriented problem solving.