Campus Beat Hyderabad

IIIT Hyderabad Professor explores future trends & challenges in software architecture

Listen to Story
News in short:
Prof. Raghu Reddy from IIIT Hyderabad discussed the evolution and challenges of modern software architecture at the TechForward seminar series. He outlined five stages of software architecture, starting with monolithic systems in the pre-1980s to the rise of internet-native applications in the 2000s and the present era characterized by emerging technologies like IoT, AR/VR, and edge computing. Key challenges include latency, throughput, and data access. Prof. Reddy advocates for a data-centric architecture using an enterprise knowledge graph (EKG) to address data silos and improve data management. While data-centric architecture offers benefits like better data quality and flexibility, it also presents challenges such as managing vast amounts of data and dealing with model drift. The article further discusses the importance of managing model drift, particularly in edge computing scenarios, using tools like Prometheus, Grafana, and Kubeflow. The article emphasizes the need for hybrid architectures, combining cloud and edge computing, and the significance of self-adaptive systems using the MAPE-K framework. Finally, Prof. Reddy highlights the growing focus on sustainability in software architecture, particularly in developing energy-efficient systems and investigating techniques like federated learning and quantization-aware training. He predicts that the future of software architecture will involve more adaptable designs, increased operational expenditure, and the rise of low-code and no-code platforms, all while emphasizing the importance of systems that can adapt to emerging technologies and changing conditions.
IIIT Hyderabad Professor explores future trends & challenges in software architecture

Hyderabad: In a recent talk at the TechForward seminar series, Prof. Raghu Reddy, Associate Professor and Head of the Software Engineering Research Centre at IIIT Hyderabad (IIITH), outlined key challenges in modern software architecture and discussed the future direction of the field.

Prof. Raghu Reddy began by tracing the evolution of software architecture, noting five distinct stages. In the pre-1980s, systems were largely monolithic. The 1980s and 1990s saw the rise of distributed monolithic systems, with multi-stakeholder architectural views and the introduction of diverse architectural styles like 3-tier and client-server models. The growth of the internet in the 1990s demanded a focus on scalability, performance, and security, as systems became always-connected. The publication of a key paper by Dewayne Perry and Alexander Wolf in the 1990s formalized software architecture as a distinct field.

From the 2000s onward, the rise of internet-native applications shifted focus toward creating fast and reliable systems, with agile architectures minimizing technical debt. Today, new technologies such as IoT, AR/VR, Edge computing, 5G, and Quantum computing are pushing software architecture toward new challenges that require an architecture-first approach.

Key Architectural Challenges

Prof. Raghu Reddy highlighted several challenges facing modern software architectures, including latency, throughput, and access to information. For example, applications relying on AR/VR or IoT for digital twins need real-time feedback loops to maintain accuracy. The shift from cloud computing to edge computing, which places data closer to devices, requires reducing response times and emphasizes the need for data-centric architectures.

Current enterprise systems often operate in silos, each with its own data model, creating fragmentation. Prof. Raghu advocates for a shift to data-centric architecture, where a central enterprise knowledge graph (EKG) can integrate data across multiple applications. This approach allows for better data access and management.

Benefits of Data-Centric Architecture

The transition to data-centric architecture has significant benefits, including the prevention of data silos and enhanced data quality through automated assessments. It also supports unstructured data, is flexible in adapting to business changes, and improves user interaction through dynamic query mechanisms. Additionally, it enables predictive capabilities and contextual awareness, helping systems adapt to changes in real-time.

Implementation Challenges

However, implementing a data-centric architecture presents several hurdles. These include managing vast amounts of data and determining which features to prioritize. The complexity of machine learning (ML) models requires careful attention to model versioning and maintenance. Furthermore, the issue of data drift, where statistical properties of data change over time, poses a significant challenge for architects.

Managing Model Drift

As machine learning models evolve, Professor Raghu highlighted the significance of managing model drift, especially in edge computing scenarios. Tools such as Prometheus and Grafana can be employed for performance monitoring, while automated feedback loops using Kubeflow can help address this challenge. In systems like Advanced Driver-Assistance Systems (ADAS), architects must determine where the intelligence for lane detection should reside whether it should be in the vehicle, on a mobile phone, or in another location. They must also consider factors such as model compression, communication stability, and security.

Hybrid architectures, combining cloud and edge computing, offer flexibility in data processing and model retraining. However, as systems become more intelligent, uncertainty in resources, data, and environment increases, making the architect’s role crucial to ensuring system stability.

Self-Adaptive Systems and Sustainability

Professor Raghu highlighted the increasing significance of self-adaptive systems. These systems utilize the MAPE-K framework (Monitor, Analyze, Plan, Execute, Knowledge) to dynamically adjust to environmental changes, allowing for real-time modifications to architecture and model parameters. At IIITH, researchers are concentrating on sustainability, particularly in developing energy-efficient software architectures. Their research includes analyzing energy consumption in IoT devices and investigating techniques like federated learning and quantization-aware training to support sustainable machine learning deployment.

As software architecture evolves, Prof. Raghu anticipates more adaptable designs, increased operational expenditure, and greater use of low-code and no-code platforms. The future will likely see a continued blending of cloud and edge computing and an emphasis on systems that can adapt to emerging technologies and shifting conditions.

This article was originally published in the December edition of TechForward Dispatch.