CIbSE 2023
Mon 24 - Fri 28 April 2023 Montevideo, Uruguay

The challenges of developing and deploying ML-enabled systems have been extensively reported in the literature and practitioner blogs and articles, with increasing emphasis on responsible AI implementations. Some of these challenges stem from characteristics inherent to ML components, such as data-dependent behavior, detecting and responding to drift over time, and timely capture of ground truth to inform retraining. Developing machine learning (ML) systems, just like any other system, requires architecture thinking. The sneaky part about engineering AI systems is they are “just like” conventional software systems we can design and reason about until they are not. Regardless, many principles and practices of building long-lived software systems that are sustainable still apply to engineering ML-enabled systems. We will take a software architecture lens and review four categories of software architecture challenges that need to be addressed to support ML system development, maintenance and evolution: software architecture practices and ML systems, architecture patterns and tactics for ML-important QAs, monitorability and trust as a driving QAs, and co-architecting and co-versioning. In addition, we will analyze architectural significant and not architecturally significant attributes and develop evaluation strategies for them.


Los desafíos de desarrollar e implementar sistemas habilitados para AA se han tratado ampliamente en la literatura y en blogs y artículos de profesionales, con un énfasis cada vez mayor en las implementaciones responsables de IA. Algunos de estos desafíos se derivan de las características inherentes a los componentes de AA, como el comportamiento dependiente de los datos, la detección y respuesta a los desvíos a lo largo del tiempo y la captura oportuna de la verdad fundamental (ground truth) para informar el reentrenamiento. El desarrollo de sistemas de aprendizaje automático (AA), al igual que cualquier otro sistema, requiere pensar en la arquitectura. La parte engañosa de diseñar sistemas de IA es que son “como” sistemas de software convencionales que podemos diseñar y razonar hasta que no lo son. Independientemente, muchos principios y prácticas de construcción de sistemas de software de larga duración que sean sostenibles aún aplican a la ingeniería de sistemas habilitados para AA. Tomaremos una perspectiva de arquitectura de software y revisaremos cuatro categorías de desafíos de arquitectura de software que deben abordarse para respaldar el desarrollo, el mantenimiento y la evolución de sistemas AA: prácticas de arquitectura de software y sistemas AA, patrones y tácticas de arquitectura para QA importantes en AA, capacidad de monitoreo y confianza como AQ directivas, y co-arquitectura y co-versionado. Además, analizaremos atributos arquitectónicos significativos y no significativos arquitectónicamente y desarrollaremos estrategias de evaluación para ellos.

Dra. Ipek Ozkaya, Carnegie Mellon University Software Engineering Institute (SEI)

alt text

Ipek Ozkaya is the technical director of Engineering Intelligent Software Systems group at Carnegie Mellon University Software Engineering Institute (SEI). Her main areas of expertise and interest include software architecture, software design automation, and managing technical debt in software-reliant and AI-enabled systems. At the SEI she has worked with several government and industry organizations in domains including avionics, power and automation, IoT, healthcare, and IT. Ozkaya is the co-author of a practitioner book titled Managing Technical Debt and is the Editorin-Chief of IEEE Software Magazine. She holds a PhD in Computational Design from Carnegie Mellon University.


Ipek Ozkaya es directora técnica del grupo de Ingeniería de Sistemas de Software Inteligente en el Instituto de Ingeniería de Software (SEI) de la Universidad Carnegie Mellon. Sus principales áreas de especialización e interés incluyen la arquitectura de software, la automatización del diseño de software y la gestión de la deuda técnica en sistemas basados en software y habilitados para IA. En SEI, ha trabajado con varias organizaciones gubernamentales e industriales en dominios que incluyen aviónica, energía y automatización, IoT, salud y TI. Ozkaya es co-autora del libro práctico titulado Gestión de la deuda técnica y es editora en jefe de la revista IEEE Software. Tiene un doctorado en Diseño Computacional de la Universidad Carnegie Mellon.

Tue 25 Apr

Displayed time zone: Montevideo change

08:30 - 10:30
Tutorial 3: Software Architecture Challenges of ML-Enabled SystemsEIbAIS at Salón B21 aulario
Chair(s): Andrea Delgado Universidad de la Republica
08:30
2h
Tutorial
Software Architecture Challenges of ML-Enabled Systems / Desafíos de Arquitectura de Software de Sistemas habilitados para AA
EIbAIS
Ipek Ozkaya Carnegie Mellon University
11:00 - 13:00
Tutorial 3: Software Architecture Challenges of ML-Enabled SystemsEIbAIS at Salón B21 aulario
Chair(s): Andrea Delgado Universidad de la Republica
11:00
2h
Tutorial
Software Architecture Challenges of ML-Enabled Systems / Desafíos de Arquitectura de Software de Sistemas habilitados para AA
EIbAIS
Ipek Ozkaya Carnegie Mellon University