[ Publications ]
[ Research ]
[ Projects ]
[ Teaching ]
[ RDDS Requirements and Design For Dependable Systems ]
[ SE Software Engineering ]
Software Architecture, with Applications to:
Automation and Adaptive Systems:
IoT and Edge Computing Architecture:
- Adaptivity in Cloud Computing: data integration for on-demand architectures; ontology-based service mediation for on-demand service systems; multi-tenancy SOA and policy-based governance.
- Scalable Cloud Computing Platforms: infrastructure scalability (VM, storage, network); pattern-based quality prediction; SLA management architectures.
- Dynamic Cloud Models - Quality and Monitoring: dynamic architectural configuration, service models at runtime; logic and ontology for runtime SOA modelling and composition; constraints monitoring; multi-tenancy SOA and SOA governance.
- AI-Driven Controller: use of AI techniques, such as nature-inspired (PSO) or reinforcement learning (Q-learning, SARSA), to construct controllers for resource management and workload distribution. Quality management and metrics for controllers.
- Fog and Edge Cloud Architectures: edge cloud architectures; single-board computing infrastructures; Raspberry Pi; cluster management; self-management.
- Container Architectures and Microservices for the IoT Edge : container technology; Docker; container platforms and clusters; performance management; orchestration.
Possible BSc and MSc Projects:
- Container and Microservice Architecture (Area: software systems
architecture): the aim is to allow container virtualisation to run on
smaller devices like Raspberry Pis and to learn how to configure these
best. Involves platform installation, configuration and experimentation
(e.g. performance engineering).
One sample problem is to experiment with Kubernetes on RPi clusters - from a performance engineering perspective, looking at scalability and other aspects.
- Cloud Controllers (Area: autonomous systems + performance engineering + AI): the aim of the project is
to investigate automatic cloud resource optimisation. This can involve
different AI and machine learning techniques to create an autonomous
resource management system.
- Cluster Management (Area: distributed systems + performance engineering + dependability): the objective is to
investigate distribution and workload orchestration strategies for IoT
and edge clusters (i.e. distributed systems management applied to IoT
A specific problem is high mobility: what is the right level of 'edge'? how close to the
network should the MEC be? For that, we can measure traffic (user to MEC, inter MEC if the
user is highly mobile), and also include costs for local edge clouds into the determination of results.
- Tools for Software Engineering Education (Area: educational
technologies): the objective is the development of tools for the
delivery and assessment.
For these projects, the CECL Cloud and Edge Computing Lab (hardware and simulation tools) can be used.
Concrete use cases can be derived from large research projects, e.g.
5G-CARMEN on autonomous cars and intelligent mobility, that UniBZ is
- after the lecture and lab sessions
SEAS - Software Engineering and Autonomous Systems