APSEC 2024
Tue 3 - Fri 6 December 2024 China
Tue 3 Dec 2024 14:00 - 15:30 at Room 1 (Zunhui Room) - Tutorial
Tue 3 Dec 2024 16:00 - 17:30 at Room 1 (Zunhui Room) - Tutorial

Modern software systems in every application domain are increasingly built as distributed systems. Business applications are structured as cooperating microservices, IoT devices communicate with cloud-based services over a network, and Web sites store data in globally dispersed data centers to support fast access for localitiesin which their users reside. Behind all these systems lurk distributed computing infrastructures that software architects and engineers must exploit to satisfy application service level agreements. To be successful, it is essential that engineers understand the inherent complexity of distributed systems.

In this half day tutorial, I’ll guide the attendees through the fundamental characteristics that distributed systems exhibit. Each characteristic will be related to the software architecture quality attributes that they directly impact. The topics covered include communications reliability and latencies, message delivery semantics, state management, idempotence, data safety, consistency, time, distributed consensus, cascading failures and failover and recovery. I’ll introduce each concept using an example distributed system and use multiple ‘props’ to illustrate concepts. Once I’ve explained a concept using the example, I’ll move on to show how the concept manifests itself in a software system and its effects on quality attributes requirements and inherent trade-offs.

The tutorial will be suitable for graduate students, engineers and architects who have no or minimal exposure to distributed systems concepts. The presentation format will be suitable for a mix of both in person and remote participants. It will combine interactive sessions with short technical explanations and examples to illustrate each distributed systems concept. Slides will be presented in English and versions in Korean potentially other Asian languages will be made available for attendees.

Software architect, author, scientist, educator, consultant.

Ian Gorton has 30 years experience as a software architect, author, computer science professor and consultant. He has worked with distributed technologies since his days in graduate school, and has worked on large scale software systems in areas such as banking, telecommunications, government, health care and scientific modeling and simulation. During this time, he has seen software systems evolve to the massive scale they operate at today.

Ian has written 3 books, including “Essential Software Architecture” and “Data Intensive Computing”, and is the author of 200+ scientific and professional publications on software architecture and software engineering. At the Carnegie Mellon Software Engineering Institute he led R&D projects in big data and massively scalable systems, and has continued working, writing and speaking on these topics since joining Northeastern University as a Professor of Computer Science in 2015. He has a PhD from Sheffield Hallam University, UK and is a Senior Member of the IEEE Computer Society.

Tue 3 Dec

Displayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change

14:00 - 15:30
14:00
90m
Tutorial
Distributed Systems – What Every Software Engineer Should Know
Tutorials
Ian Gorton Northeastern University – Seattle, USA
16:00 - 17:30
16:00
90m
Tutorial
Distributed Systems – What Every Software Engineer Should Know
Tutorials
Ian Gorton Northeastern University – Seattle, USA