Programming and Deployment of Services and Applications
(tele: PAIM, cyber: UAIM)

Multimedia Services

The general objective of the course is to make students familiar with the complete process of developing and deploying Internet services and applications. You will become familiar with the Agile approach to system and software development and with the Scrum model, as well as processes and platforms of team cooperation. We will teach you the basics of system specification, in particular using the UML notation, and formulating functional and non-functional requirements. You will learn about the service-oriented architectural system model and the concept of microservices. We will teach you designing and implementing microservice-based server applications as well as client applications executed in web browsers and on mobile devices, using the ASP.NET platform. You will learn the architecture of applications, their communications models and interfaces, design patterns, testing approaches, and more. We will tell you about the DevOps concept of continuous and automatic system development and deployment. We will show you how to containerize micro-services, how to manage and deploy containers using the Docker platform, and how to orchestrate a container-based system using the Kubernetes platform. During the lab hours you will become familiar with contemporary platforms of team cooperation, software development, system integration and deployment. And the team project will allow you to design, implement and deploy a complete microservice-based system within a DevOps process.

Lecturers: A. Tomaszewski, B. Ostrowski, M. Żotkiewicz

The IP networks were initially created for simple data services but had quickly became a medium for multiple services with different requirements and characteristics. Nowadays, many of these services are related to transporting multimedia – voice, and video. This course will give you a review and insight into selected technologies that help to effectively transport voice and video streams in IP networks, and enable creation of rich communication services around multimedia content. We will discuss IP QoS, Voice over IP, technologies for IP TV and Over-the-Top video streaming in the Internet. We will also present the IMS architecture and its potential to be a universal service architecture for IP-based fixed and mobile networks, with emphasis on service capabilities enabled by the SIP protocol.

Lecturers: P. Gajowniczek, A. Bąk

Software Engineering for Critical Networks and Services

ICT Services and Applications

Most contemporary networked ICT systems are in various senses critical, i.e., their failures may have unacceptable consequences. They thus need to be dependable (trustworthy), which imposes particular obligations on their designers and operators. The INOS course will equip you with advanced knowledge and skills necessary to deal with the software part of such critical systems throughout their whole life cycle. You will learn how to approach the dependability problems by using state-of-the-art methods, techniques, and tools for designing, provisioning, and operating (maintaining) the software part of a Critical System. We will cover two complementary sets of methods: process-based (“traditional” and agile software development models: DevOps and “continuous everything”, relevant architectural patterns – microservices, containers) and product-based (with their fairly stable set of Formal Methods for specifying, modelling, analysing, verifying and runtime monitoring/testing). We will also discuss automation, which is an important aspect of both sets. Relevant techniques and tools (Docker; GitLab; Compose; Kubernetes; Spin / Promela; SDL, MSC and TTCN in PragmaDev) will be demonstrated to you in the lab; you will then have the opportunity to try them out in team projects. The main message to take home is that there is no single “silver bullet” for assuring dependability – a whole spectrum of approaches needs to be mastered and applied by a responsible engineer.

Lecturers: K. Brzeziński, A. Tomaszewski

The course addresses technical, business and regulatory aspects of the development, operation, management and maintenance of ICT convergent services and the electronic communication market. It also illustrates paradigm shift from a traditional approach based on PSTN/IN/GSM service delivery platforms to NGN and Common IMS virtualized cloud based architectures, as well as evolution to new business models – MVNO/MVNE providers, OTT applications and SaaS/PaaS/IaaS cloud computing models. New services and applications, like IPTV, VoLTE, VoWiFi, WebRTC, Instant Messaging and Presence, UMTS Rich Communications Suite aka Joyn, and the SIP protocol as their enabler are covered. The management aspect includes such concepts as standard ITU-T eTOM model, TMF Frameworx architecture, BPMN and BPEL notation. Laboratory exercises are an opportunity to become familiar with open source SIP/IMS platforms like Camallio and Clearwater. And team software projects provide direct practical insight into the development mobile applications using different types of APIs. Project 2 assumes preparing a basic model for service delivery using a BPMN tool.

Lecturers: M. Średniawa, M. Mycek

Networked Services and Applications
(tele: APTEL, cyber: UAI)

Taking one of twin introductory courses: APTEL or UAI (the latter tailored to the needs of those pursuing the cybersecurity track) will give you solid foundations, rather than oversimplified basics, of networked information and communication technology (ICT). The courses present a canonical set of concepts and principles applicable to services (with their uneasy relation to applications), and to protocols as fundamental mechanisms of service realization. You will learn how to address the relations between the required properties (quality) of services, the necessary technical features of a system, and methods/tools for handling the generic tasks you may face: designing (SDL, MSC), monitoring (Wireshark, Mondis), analysing (verification, validation). As the necessary introduction to formal design techniques (FDT) and principled Protocol Engineering, we will just scratch the surface of discrete mathematics (automata) and logics. We will also discuss the examples of protocols and services of contemporary Internet (WWW, TCP, VoIP, SIP, DASH streaming) and provide you with laboratory exercises for related hands-on experience. In addition, some classical case studies (PSTN, ISDN) will prove that the underlying principles are indeed fundamental – they have a long “shell life”, which might well spare you re-inventing the wheel in your further studies and work.

Lecturers: A. Bąk, K. Brzeziński (coord. APTEL), P. Gajowniczek (coord. UAI)