English
Related papers

Related papers: Revisiting Abstractions for Software Architecture …

200 papers

Abstraction (in its various forms) is a powerful established technique in model-checking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an…

Logic in Computer Science · Computer Science 2013-10-04 Francesco Alberti , Silvio Ghilardi , Natasha Sharygina

Software development has steadily embraced agile software development methodology/method (ASDM) and has been moving away from the plan driven software development methodology (PDM) approaches like waterfall. Given the iterative nature of…

Software Engineering · Computer Science 2021-03-02 Vinod Menon , Roopak Sinha , Stephen MacDonell

The ability to express a program as a hierarchical composition of parts is an essential tool in managing the complexity of software and a key abstraction this provides is to separate the representation of data from the computation. Many…

Programming Languages · Computer Science 2012-10-04 James Hanlon , Simon J. Hollis , David May

The design phase plays a vital role than all other phases in the software development. Software Architecture has to meet both the functional and non-functional quality requirements. The Evaluation of Architecture has to be performed, so…

Software Engineering · Computer Science 2015-06-18 A. Meiappane , B. Chithra , Prasanna Venkataesan

Decomposition and abstraction is an essential component of computational thinking, yet it is not always emphasized in introductory programming courses. In addition, as generative AI further reduces the focus on syntax and increases the…

Software Engineering · Computer Science 2025-12-09 Georgiana Haldeman , Peter Ohmann , Paul Denny

A software architecture is the result of multiple decisions made by a software architect. These decisions are called architectural decisions, as they bring solutions to architectural problems. Relations between decisions can be captured in…

Software Engineering · Computer Science 2018-07-10 Marcin Szlenk

Mathematical software systems are becoming more and more important in pure and applied mathematics in order to deal with the complexity and scalability issues inherent in mathematics. In the last decades we have seen a cambric explosion of…

Mathematical Software · Computer Science 2020-02-13 Katja Bercic , Jacques Carette , William M. Farmer , Michael Kohlhase , Dennis Müller , Florian Rabe , Yasmine Sharoda

As research in the Internet of Thing area progresses, and a multitude of proposals exist to solve a variety of problems, the need for a general principled software engineering approach for the systematic development of IoT systems and…

Software Engineering · Computer Science 2016-01-22 Franco Zambonelli

A software architect uses quality requirements to design the architecture of a system. However, it is essential to ensure that the system's final architectural design achieves the standard quality requirements. The existing architectural…

Software Engineering · Computer Science 2021-05-21 Ritu Kapur , Sumit Kalra , Kamlesh Tiwari , Geetika Arora

Designing effective software architectures is a complex, iterative process that traditionally relies on expert judgment. This paper proposes an approach for Large Language Model (LLM)-assisted software architecture design using the…

Software Engineering · Computer Science 2025-07-01 Humberto Cervantes , Rick Kazman , Yuanfang Cai

While methods of code abstraction and reuse are widespread and well researched, methods of proof abstraction and reuse are still emerging. We consider the use of dependent types for this purpose, introducing a completely mechanical approach…

Programming Languages · Computer Science 2012-08-03 Christopher Schwaab , Jeremy G. Siek

Architecture decision making is considered one of the most challenging cognitive tasks in software development. The objective of this study is to explore the state of the practice of architecture decision making in software teams, including…

Software Engineering · Computer Science 2017-07-04 Sandun Dasanayake , Jouni Markkula , Sanja Aaramaa , Markku Oivo

Programs are an increasingly popular representation for visual data, exposing compact, interpretable structure that supports manipulation. Visual programs are usually written in domain-specific languages (DSLs). Finding "good" programs,…

Graphics · Computer Science 2023-05-10 R. Kenny Jones , Paul Guerrero , Niloy J. Mitra , Daniel Ritchie

This paper describes a first step towards the definition of an abstract machine for linguistic formalisms that are based on typed feature structures, such as HPSG. The core design of the abstract machine is given in detail, including the…

cmp-lg · Computer Science 2008-02-03 Shuly Wintner , Nissim Francez

As software systems evolve, their architecture is meant to adapt accordingly by following the changes in requirements, the environment, and the implementation. However, in practice, the evolving system often deviates from the architecture,…

Software Engineering · Computer Science 2021-03-23 Ruiyin Li , Peng Liang , Mohamed Soliman , Paris Avgeriou

High-level synthesis (HLS) is a key component for the hardware acceleration of applications, especially thanks to the diffusion of reconfigurable devices in many domains, from data centers to edge devices. HLS reduces development times by…

Cryptography and Security · Computer Science 2021-04-06 Christian Pilato , Francesco Regazzoni

Unique developmental and operational characteristics of ML components as well as their inherent uncertainty demand robust engineering principles are used to ensure their quality. We aim to determine how software systems can be (re-)…

Software Engineering · Computer Science 2022-01-11 Alex Serban , Joost Visser

Structural causal models (SCMs) are a widespread formalism to deal with causal systems. A recent direction of research has considered the problem of relating formally SCMs at different levels of abstraction, by defining maps between SCMs…

Artificial Intelligence · Computer Science 2022-07-19 Fabio Massimo Zennaro

As modern software systems are increasingly developed for running in distributed environments, it is crucial to provide fundamental techniques such as dependence analysis for checking, diagnosing, and evolving those systems. However,…

Software Engineering · Computer Science 2021-11-11 Haipeng Cai , Xiaoqin Fu

Building a quantum computer that surpasses the computational power of its classical counterpart is a great engineering challenge. Quantum software optimizations can provide an accelerated pathway to the first generation of quantum computing…