Revisiting Abstractions for Software Architecture and Tools to Support Them
- URL: http://arxiv.org/abs/2503.04008v1
- Date: Thu, 06 Mar 2025 01:48:25 GMT
- Title: Revisiting Abstractions for Software Architecture and Tools to Support Them
- Authors: Mary Shaw, Daniel V. Klein, Theodore L. Ross,
- Abstract summary: We present a conceptual view of software architecture based on abstractions used in practice to organize software systems.<n>We reflect on the paper's principal ideas about system-level abstractions.<n>We describe current manifestations of architectural ideas and current challenges.
- Score: 0.9558392439655016
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The mid-1990s saw the design of programming languages for software architectures, which define the high-level aspects of software systems including how code components were composed to form full systems. Our paper "Abstractions for Software Architecture and Tools to Support Them" presented a conceptual view of software architecture based on abstractions used in practice to organize software systems, a language that supported these abstractions, and a prototype implementation of this language. By invitation, we reflect on the paper's principal ideas about system-level abstractions, place the work in a historical context of steadily increasing abstraction power in software development languages and infrastructure, and reflect on how progress since the paper's 1995 publication has been influenced, directly or indirectly, by this work. We describe current manifestations of architectural ideas and current challenges. We suggest how the strategy we used to identify and reify architectural abstractions may apply to current opportunities.
Related papers
- Semi-Automated Design of Data-Intensive Architectures [49.1574468325115]
This paper introduces a development methodology for data-intensive architectures.
It guides architects in (i) designing a suitable architecture for their specific application scenario, and (ii) selecting an appropriate set of concrete systems to implement the application.
We show that the description languages we adopt can capture the key aspects of data-intensive architectures proposed by researchers and practitioners.
arXiv Detail & Related papers (2025-03-21T16:01:11Z) - Establishing tool support for a concept DSL [0.0]
This thesis describes Conceptual, a DSL for modeling the behavior of software systems using self-contained and highly reusable units of concepts.
The suggested strategy is then implemented with a simple compiler, allowing developers to access and utilize Alloy's existing analysis tools for program reasoning.
arXiv Detail & Related papers (2025-03-07T09:18:31Z) - A Functional Software Reference Architecture for LLM-Integrated Systems [8.68898878009242]
Integration of large language models into software systems is transforming capabilities such as natural language understanding, decision-making, and autonomous task execution.<n>The absence of a commonly accepted software reference architecture hinders systematic reasoning about their design and quality attributes.<n>We describe our textitemerging results for a preliminary functional reference architecture as a conceptual framework to address these challenges.
arXiv Detail & Related papers (2025-01-22T14:30:40Z) - Finding structure in logographic writing with library learning [55.63800121311418]
We develop a computational framework for discovering structure in a writing system.
Our framework discovers known linguistic structures in the Chinese writing system.
We demonstrate how a library learning approach may help reveal the fundamental computational principles that underlie the creation of structures in human cognition.
arXiv Detail & Related papers (2024-05-11T04:23:53Z) - Charting a Path to Efficient Onboarding: The Role of Software
Visualization [49.1574468325115]
The present study aims to explore the familiarity of managers, leaders, and developers with software visualization tools.
This approach incorporated quantitative and qualitative analyses of data collected from practitioners using questionnaires and semi-structured interviews.
arXiv Detail & Related papers (2024-01-17T21:30:45Z) - Cognitive Architectures for Language Agents [44.89258267600489]
We propose Cognitive Architectures for Language Agents (CoALA)
CoALA describes a language agent with modular memory components, a structured action space to interact with internal memory and external environments, and a generalized decision-making process to choose actions.
We use CoALA to retrospectively survey and organize a large body of recent work, and prospectively identify actionable directions towards more capable agents.
arXiv Detail & Related papers (2023-09-05T17:56:20Z) - Enhancing Architecture Frameworks by Including Modern Stakeholders and their Views/Viewpoints [48.87872564630711]
The stakeholders with data science and Machine Learning related concerns, such as data scientists and data engineers, are yet to be included in existing architecture frameworks.<n>We surveyed 61 subject matter experts from over 25 organizations in 10 countries.
arXiv Detail & Related papers (2023-08-09T21:54:34Z) - A Compositional Approach to Creating Architecture Frameworks with an
Application to Distributed AI Systems [16.690434072032176]
We show how compositional thinking can provide rules for the creation and management of architectural frameworks for complex systems.
The aim of the paper is not to provide viewpoints or architecture models specific to AI systems, but instead to provide guidelines on how a consistent framework can be built up with existing, or newly created, viewpoints.
arXiv Detail & Related papers (2022-12-27T18:05:02Z) - Architecture and Knowledge Representation for Composable Inductive
Programming [0.0]
We present an update on the current architecture of the Zoea knowledge-based, Composable Inductive Programming system.
The Zoea compiler is built using a modern variant of the black-board architecture.
arXiv Detail & Related papers (2022-12-22T17:02:19Z) - Leveraging Language to Learn Program Abstractions and Search Heuristics [66.28391181268645]
We introduce LAPS (Language for Abstraction and Program Search), a technique for using natural language annotations to guide joint learning of libraries and neurally-guided search models for synthesis.
When integrated into a state-of-the-art library learning system (DreamCoder), LAPS produces higher-quality libraries and improves search efficiency and generalization.
arXiv Detail & Related papers (2021-06-18T15:08:47Z) - Exploring Probabilistic Soft Logic as a framework for integrating
top-down and bottom-up processing of language in a task context [0.6091702876917279]
The architecture integrates existing NLP components to produce candidate analyses on eight levels of linguistic modeling.
The architecture builds on Universal Dependencies (UD) as its representation formalism on the form level and on Abstract Meaning Representations (AMRs) to represent semantic analyses of learner answers.
arXiv Detail & Related papers (2020-04-15T11:00:07Z) - Plato Dialogue System: A Flexible Conversational AI Research Platform [64.82999992143448]
Plato is a flexible Conversational AI platform written in Python that supports any kind of conversational agent architecture.
Plato has been designed to be easy to understand and debug and is agnostic to the underlying learning frameworks that train each component.
arXiv Detail & Related papers (2020-01-17T18:27:29Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.