42.5AIMay 5
Robust Agent Compensation (RAC): Teaching AI Agents to CompensateSrinath Perera, Kaviru Hapuarachchi, Frank Leymann et al.
We present Robust Agent Compensation (RAC), a log-based recovery paradigm (providing a safety net) implemented through an architectural extension that can be applied to most Agent frameworks to support reliable executions (avoiding unintended side effects). Users can choose to enable RAC without changing their current agent code (e.g., LangGraph agents). The proposed approach can be implemented in most existing agent frameworks via their existing extension points. We present an implementation based on LangChain, demonstrate its viability through the $τ$-bench and REALM-Bench, and show that when solving complex problems, RAC is 1.5-8X or more better in both latency and token economy compared to state-of-the-art LLM-based recovery approaches.
QUANT-PHMay 9, 2023
Architectural Vision for Quantum Computing in the Edge-Cloud ContinuumAlireza Furutanpey, Johanna Barzen, Marvin Bechtold et al.
Quantum processing units (QPUs) are currently exclusively available from cloud vendors. However, with recent advancements, hosting QPUs is soon possible everywhere. Existing work has yet to draw from research in edge computing to explore systems exploiting mobile QPUs, or how hybrid applications can benefit from distributed heterogeneous resources. Hence, this work presents an architecture for Quantum Computing in the edge-cloud continuum. We discuss the necessity, challenges, and solution approaches for extending existing work on classical edge computing to integrate QPUs. We describe how warm-starting allows defining workflows that exploit the hierarchical resources spread across the continuum. Then, we introduce a distributed inference engine with hybrid classical-quantum neural networks (QNNs) to aid system designers in accommodating applications with complex requirements that incur the highest degree of heterogeneity. We propose solutions focusing on classical layer partitioning and quantum circuit cutting to demonstrate the potential of utilizing classical and quantum computation across the continuum. To evaluate the importance and feasibility of our vision, we provide a proof of concept that exemplifies how extending a classical partition method to integrate quantum circuits can improve the solution quality. Specifically, we implement a split neural network with optional hybrid QNN predictors. Our results show that extending classical methods with QNNs is viable and promising for future work.
SEJun 17, 2021
Quantum Software Development LifecycleBenjamin Weder, Johanna Barzen, Frank Leymann et al.
With recent advances in the development of more powerful quantum computers, the research area of quantum software engineering is emerging, having the goal to provide concepts, principles, and guidelines to develop high-quality quantum applications. In classical software engineering, lifecycles are used to document the process of designing, implementing, maintaining, analyzing, and adapting software. Such lifecycles provide a common understanding of how to develop and operate an application, which is especially important due to the interdisciplinary nature of quantum computing. Since today`s quantum applications are, in most cases, hybrid, consisting of quantum and classical programs, the lifecycle for quantum applications must involve the development of both kinds of programs. However, the existing lifecycles only target the development of quantum or classical programs in isolation. Additionally, the various programs must be orchestrated, e.g., using workflows. Thus, the development of quantum applications also incorporates the workflow lifecycle. In this chapter, we analyze the software artifacts usually comprising a quantum application and present their corresponding lifecycles. Furthermore, we identify the points of connection between the various lifecycles and integrate them into the overall quantum software development lifecycle. Therefore, the integrated lifecycle serves as a basis for the development and execution of hybrid quantum applications.
CRNov 24, 2020
On the Serverless Nature of Blockchains and Smart ContractsVladimir Yussupov, Ghareeb Falazi, Uwe Breitenbücher et al.
Although historically the term serverless was also used in the context of peer-to-peer systems, it is more frequently associated with the architectural style for developing cloud-native applications. From the developer's perspective, serverless architectures allow reducing management efforts since applications are composed using provider-managed components, e.g., Database-as-a-Service (DBaaS) and Function-as-a-Service (FaaS) offerings. Blockchains are distributed systems designed to enable collaborative scenarios involving multiple untrusted parties. It seems that the decentralized peer-to-peer nature of blockchains makes it interesting to consider them in serverless architectures, since resource allocation and management tasks are not required to be performed by users. Moreover, considering their useful properties of ensuring transaction's immutability and facilitating accountable interactions, blockchains might enhance the overall guarantees and capabilities of serverless architectures. Therefore, in this work, we analyze how the blockchain technology and smart contracts fit into the serverless picture and derive a set of scenarios in which they act as different component types in serverless architectures. Furthermore, we formulate the implementation requirements that have to be fulfilled to successfully use blockchains and smart contracts in these scenarios. Finally, we investigate which existing technologies enable these scenarios, and analyze their readiness and suitability to fulfill the formulated requirements.
SEJun 9, 2020
Pattern AtlasFrank Leymann, Johanna Barzen
Pattern languages are well-established in the software architecture community. Many different aspects of creating a software architecture are addressed by such languages. Thus, several pattern languages have to be considered when building a particular architecture. But these pattern languages are isolated, i.e. it is hard to determine the relevant patterns to be applied from the different pattern languages. Moreover, the sum of patterns from different languages may be huge, i.e. restriction to relevant patterns is desirable. In this contribution we envision an encompassing tool, the pattern atlas, that supports building complex systems based on pattern languages. The analogy to cartography motivates the name of the tool.
SEApr 1, 2020
FaaSten Your Decisions: Classification Framework and Technology Review of Function-as-a-Service PlatformsVladimir Yussupov, Jacopo Soldani, Uwe Breitenbücher et al.
Function-as-a-Service (FaaS) is a cloud service model enabling developers to offload event-driven executable snippets of code. The execution and management of such functions becomes a FaaS provider's responsibility, hereby included their on-demand provisioning and automatic scaling. Key enablers for this cloud service model are FaaS platforms, e.g., AWS Lambda, Microsoft Azure Functions or OpenFaaS. At the same time, the choice of the most appropriate FaaS platform for deploying and running a serverless application is not trivial, as various organizational and technical aspects have to be taken into account. In this work, we present (i) a FaaS platform classification framework derived using a mixed method study and (ii) a systematic technology review of the ten most prominent FaaS platforms, based on the proposed classification framework. Moreover, we present (iii) a FaaS platform selection support system, called \faastener, which helps researchers and practitioners to choose the FaaS platform most suited for their requirements.
SEMar 20, 2020
Pattern Views: Concept and Tooling for Interconnected Pattern LanguagesManuela Weigold, Johanna Barzen, Uwe Breitenbücher et al.
Patterns describe proven solutions for recurring problems. Typically, patterns in a particular domain are interrelated and organized in pattern languages. As real-world problems often require patterns of multiple domains, different pattern languages have to be considered to address these problems. However, cross-domain knowledge about how patterns of different languages relate to each other is either hidden in individual pattern descriptions or not documented at all. This makes it difficult to identify relevant patterns across pattern languages. Therefore, we introduce a concept and tooling that enables to capture patterns and their relations across pattern languages for a particular problem context.
SEMay 17, 2019
The Essential Deployment Metamodel: A Systematic Review of Deployment Automation TechnologiesMichael Wurster, Uwe Breitenbücher, Michael Falkenthal et al.
In recent years, a plethora of deployment technologies evolved, many following a declarative approach to automate the delivery of software components. Even if such technologies share the same purpose, they differ in features and supported mechanisms. Thus, it is difficult to compare and select deployment automation technologies as well as to migrate from one technology to another. Hence, we present a systematic review of declarative deployment technologies and introduce the Essential Deployment Metamodel (EDMM) by extracting the essential parts that are supported by all these technologies. Thereby, the EDMM enables a common understanding of declarative deployment models by facilitating the comparison, selection, and migration of technologies. Moreover, it provides a technology-independent baseline for further deployment automation research.
SEApr 12, 2017
Blockchains for Business Process Management - Challenges and OpportunitiesJan Mendling, Ingo Weber, Wil van der Aalst et al.
Blockchain technology promises a sizable potential for executing inter-organizational business processes without requiring a central party serving as a single point of trust (and failure). This paper analyzes its impact on business process management (BPM). We structure the discussion using two BPM frameworks, namely the six BPM core capabilities and the BPM lifecycle. This paper provides research directions for investigating the application of blockchain technology to BPM.