Can an LLM Detect Instances of Microservice Infrastructure Patterns?
Department of Computer Science, Utah Valley University(计算机科学系,犹他谷大学)
本文通过MicroPAD工具评估LLM检测建筑模式的能力,发现其在多语言和多类型 artifact 中的表现因模式普及度和独特性而异。
2026-03-24 cs.AI cs.SE
Architectural Foundations for the Large Language Model Infrastructures
本文探讨LLM基础设施、软件和数据管理的复杂格局,分析核心组件,强调关键考虑因素与保障措施,为构建稳健有效的LLM基础设施提供挑战与策略的综合见解。
2024-08-21 cs.AI cs.CL
Knowledge Lever Risk Management for Software Engineering: A Stochastic Framework for Mitigating Knowledge Loss
Department of Systems and Computer Engineering(系统与计算机工程系);Carleton University(卡尔顿大学)
本文提出知识杠杆风险管理框架,通过将无形知识资产转化为风险缓解机制,结合四个阶段架构和随机模型,提升软件开发项目中的知识资本和项目成功率。
2026-04-25 cs.AI cs.SE
Where and What do Software Architects blog? An Exploratory Study on Architectural Knowledge in Blogs, and their Relevance to Design Steps
软件工程师在Web上的不同地方分享他们的架构知识(AK)。最近的研究表明,架构博客包含最相关的AK,它可以帮助软件工程师制定设计步骤。然而,我们对博客知之甚少,特别是架构博客,软件工程师在那里分享他们的AK。在本文中,我们对建筑博客进行了探索性研究,探讨其类型,主题和他们的AK。此外,我们还确定了建筑博客的相关性,以制定设计步骤。我们的研究结果支持研究人员和从业人员从博客中发现和重用AK。
2023-03-17 cs.SE
Applying Slicing Technique to Software Architectures
软件体系结构作为软件系统的一个重要设计层次,正受到越来越多的关注。随着软件体系结构设计资源(以体系结构规范的形式)的积累,支持体系结构理解、测试、再工程、维护和重用的技术和工具的开发将成为一个重要的问题。本文介绍了一种新的切片形式,称为架构切片,以帮助架构的理解和重用。与传统切片不同,架构切片被设计为对软件系统的架构规范进行操作,而不是对程序的源代码进行操作。架构切片提供了关于软件系统的高层结构的知识,而不是程序的低层实现细节。为了计算架构切片,我们提出了架构信息流图,它可以用来表示软件架构中的信息流。基于图,我们给出了一个两阶段算法来计算建筑切片。
2001-05-05 cs.SE
Analysis of Software Delivery Process Shortcomings and Architectural Pitfalls
本文通过研究两个使用Microsoft.Net框架构建的企业级Web应用程序产品,突出了软件架构,开发和交付过程过于复杂的常见陷阱。本文的目的是识别,讨论和分析架构,开发和部署问题,并使用现实世界的例子,从所选的软件产品作为案例研究中吸取教训。
2016-07-09 cs.SE
Architectural Archipelagos: Technical Debt in Long-Lived Software Research Platforms
本文确定了一个模型的软件演化,是普遍存在于大型,长期的学术研究工具套件(3L-ARTS)。这种模式导致了一个“群岛”的相关,但随意组织的架构“岛屿”,并内在地诱导技术债务。我们说明了群岛模型与文献中确定的两个3L-ARTS群岛的例子。
2021-04-17 cs.SE
Symmetry in Software Platforms as an Architectural Principle
Microsoft(微软)
本文提出软件平台通过保持结构对称性来增强架构鲁棒性,并探讨了对称性作为架构原则的核心思想。
2025-10-23 cs.DC cs.SE
Using Dependence Analysis to Support Software Architecture Understanding
软件体系结构作为软件系统的一个重要设计层次,正受到越来越多的关注。随着软件体系结构设计资源(以体系结构描述的形式)的积累,开发支持体系结构理解、测试、再工程、维护和重用的技术和工具将成为一个重要的问题。本文介绍了一种新的依赖分析技术--体系结构依赖分析,以支持支持软件体系结构的开发。与传统的依赖性分析不同,架构依赖性分析被设计为对软件系统的架构描述进行操作,而不是对传统程序的源代码进行操作。架构依赖性分析提供了软件系统的高层架构的依赖性知识,而不是传统程序的低层实现细节。
2001-05-05 cs.SE
Neurosymbolic Architectural Reasoning: Towards Formal Analysis through Neural Software Architecture Inference
针对形式化架构模型构建成本高导致架构形式化分析难普及的问题,提出神经架构推断方法以支撑神经符号架构推理,并梳理了六个待解决的研究问题与研究方向。
2025-03-20 cs.SE
Training Software Engineers for Qualitative Evaluation of Software Architecture
软件架构师使用质量需求来设计系统的架构。但是,必须确保系统的最终架构设计达到标准质量要求。现有的架构评估框架需要基本的技能和经验,以实际使用,新手软件架构师缺乏。我们提出了一个框架,使新手软件架构师推断系统的质量要求和策略,使用软件架构块线图。该框架将图像作为输入,提取各种组件和连接,并将其映射到可行的架构模式,然后识别系统相应的质量属性(QA)和策略。该框架包括基于图像处理和语义相似性方法的专门训练的机器学习模型,以帮助软件架构师通过以下方式评估给定设计:a)基于输入架构设计中存在的架构模式评估输入架构设计,b)列出设计在QA方面的优点和缺点,c)推荐必要的架构策略,这些策略可以嵌入到设计中,以实现缺乏的QA。为了训练我们的框架,我们开发了一个包含2,035个架构图像的数据集,这些架构图像来自14种架构模式,如客户端-服务器,微服务和模型视图控制器,可在https://www.doi.org/10.6084/m9.figshare.14156408上获得。该框架在识别建筑模式方面达到了98.71%的正确识别率。我们评估了所提出的框架的有效性和实用性,通过使用控制组和实验组,其中实验组的表现比控制组好约150%。实验作为工程学院计算机科学硕士课程的一部分进行。
2021-05-20 cs.SE
Architectural Support for Software Performance in Continuous Software Engineering: A Systematic Mapping Study
本研究针对持续软件工程中性能评估的难点,采用系统性映射方法从215篇相关论文中筛选66项核心研究,对面向性能的持续软件工程架构支持的研究现状进行分类梳理,为领域研究重点和未来方向提供参考。
2023-04-05 cs.SE
Systematically reviewing the layered architectural pattern principles and their use to reconstruct software architectures
体系结构重构是一种逆向工程活动,旨在恢复系统上丢失的决策。它可以帮助根据应用程序的体系结构模式识别遗留软件应用程序中的组件。识别架构技术债务是很有用的。我们感兴趣的是在分层应用程序中识别层,因为分层模式是构建大型系统最常用的模式之一。早期的组件重构工作主要关注于该模式,依赖于通用的组件标识标准,比如内聚和耦合。最近的工作已经确定了架构模式特定的标准,以识别该模式中的组件。然而,分层模式所体现的特定于架构模式的标准是松散定义的。在本文中,我们提出了第一个系统的文献综述(SLR)的文献,旨在清点这些标准的层内的遗留应用程序和分组下的四个原则,体现了基本的设计原则的基础上的架构模式。我们确定了六个这样的标准的设计规则的形式。我们还进行了第二次系统的文献综述,以综合文献的软件架构重建在这些标准。我们报告这些原则,它们所包含的规则,它们的表示,以及它们在软件架构重构中的使用。
2021-12-02 cs.SE
On Assessing the Complexity of Software Architectures
本文提出了一些适合评估软件系统体系结构属性的新体系结构度量。我们的方法的主要特点是通过分析架构中的各种类型的架构依赖来评估软件架构的复杂性。
2001-05-05 cs.SE
Software dependability modeling using an industry-standard architecture description language
在架构级别执行可靠性评估以及其他分析,既可以进行架构权衡,又可以预测架构决策对应用程序可靠性的影响。本文给出了使用AADL(体系结构分析与设计语言)建立软件系统体系结构可靠性模型的指导方针。它提出了可重用的容错应用程序的建模模式,并显示了如何提出的模式可以在现实生活中的应用程序的子系统的上下文中使用。
2008-09-24 cs.SE
Evolution Patterns: Designing and Reusing Architectural Evolution Knowledge to Introduce Architectural Styles
软件体系结构对于软件密集型系统的成功开发和发展至关重要。虽然对体系结构描述的正式和自动化支持已经得到了广泛的解决,但它们的发展同样至关重要,但显然没有得到很好的理解和支持。为了应对不断出现的进化需求,我们引入了进化模式的概念。它通过一组概念和一个可重用的演化过程来形式化架构演化。我们提出它通过引入现有的软件架构的架构风格的反复需要。我们正式描述和分析架构演化模式的可行性,并提供了一个实际的验证,通过实现它们在COSABuilder,Eclipse插件的COSA架构描述语言。
2016-05-20 cs.SE
Architectural Approaches to Overcome Challenges in the Development of Data-Intensive Systems
本文针对数据密集型系统的构建与维护难题,综述其架构设计挑战,并梳理主流软件架构风格在应对这些挑战方面的潜力。
2023-12-05 cs.SE
Architectural Blueprints: The 4+1 View Model of Software Architecture
本文提出了一个模型,用于描述软件密集型系统的体系结构,基于多个并发视图的使用。这种多视图的使用允许单独解决架构的各个利益相关者的关注点:最终用户,开发人员,系统工程师,项目经理等,并分别处理功能和非功能需求。我们描述了这五个视图中的每一个,并给出了一个表示法。这些视图是使用以架构为中心的、基于XML的、迭代的开发过程设计的。
2020-06-08 cs.SE
Architectural Software Patterns for the Development of IoT Smart Applications
软件开发人员通常在没有正式架构的情况下开始编写应用程序,并依赖直觉和经验,而不是众所周知的设计模式。推荐一种不同的方法来开发物联网智能应用程序,因为它结合了传感器,执行器,通信技术和大数据分析的高度复杂性,以及它跨越不同领域,雾和云基础设施层的分布式性质。文献报告了物联网智能应用程序软件开发的许多经验。然而,架构解决方案的提出没有合理的选择软件组件和它们之间的相互关系。本文提出了软件组件及其关系的分类,以便为特定的物联网智能应用程序建模软件架构。我们选择了城市、建筑和农业的三个智能应用程序作为使用一些组件、连接器和众所周知的设计模式的示例。最后,讨论了物联网软件架构选择中涉及的问题和挑战。
2020-03-17 cs.SE
Archify: A Recommender System of Architectural Design Decisions
软件体系结构在软件质量保证中起着至关重要的作用。然而,中小型公司(SMC)往往缺乏具有软件架构技能和专业知识的专业人员。这种情况可能会影响软件产品的最终质量,并给项目预算带来额外的咨询费用压力。本文介绍了一个名为Archify的建筑设计决策推荐系统。我们的目标是支持SMC公司在架构设计他们的产品的努力的一部分。Archify实现了一个向导风格的界面,可以指导开发人员或项目经理解决一系列特定的问题。当用户回答这些问题时,Archify会缓冲一组相应的架构决策建议。作为最终结果,系统根据开发中软件的需求(由用户提供)推荐一组与项目需求相匹配的架构决策。来自学术界和工业界的19位专业人士通过两项调查对Archify进行了评估。调查结果显示,94.7%的参与者认可Archify作为支持工具。答复者还强调缺乏支持软件架构设计的工具,并指出拟议系统的相关性。
2021-06-15 cs.SE
Examining the Relationship of Code and Architectural Smells with Software Vulnerabilities
安全性对于为商业或个人使用而开发的软件至关重要。虽然越来越多的组织意识到应用安全编码实践的重要性,但在其中许多组织中,直到发生安全故障时才知道或解决安全问题。安全失败的根本原因是易受攻击的代码。虽然度量已被用于预测软件漏洞,我们探索代码和架构气味与安全弱点之间的关系。由于气味是软件中更深层次问题的表面指标,因此确定气味与软件漏洞之间的关系可以在漏洞预测模型中发挥重要作用。目的:探讨气味与软件漏洞的关系,以识别气味。方法:我们提取了三个系统的类、方法、文件和包级别的气味:Apache Tomcat、Apache CXF和Android。然后,我们比较了它们在报告包含易受攻击代码的易受攻击类和中性类(尚未报告漏洞的非易受攻击类)中的出现情况。结果:我们发现,与非脆弱类相比,脆弱类更有可能具有某些气味。上帝类、复杂类、大类、数据类、特征嫉妒类、大脑类与软件漏洞具有统计学显着关系。我们发现架构气味和软件漏洞之间没有显著的关系。结论:我们可以得出结论,对于所有被检查的系统,在软件漏洞和一些气味之间存在统计学上显著的相关性。
2020-10-29 cs.SE
Toward an Architectural Blueprint to Observe Sustainability in and by Software Systems
Vrije Universiteit Amsterdam(阿姆斯特丹自由大学)
本文提出一种架构蓝图和部署代码,用于在软件系统中添加可观察性,特别包括测量软件能耗,以帮助定义必要组件并示例展示可观察性添加。
2026-04-10 cs.SE
Service Colonies: A Novel Architectural Style for Developing Software Systems with Autonomous and Cooperative Services
本文提出新型软件架构风格服务集群,由自主服务协作实现系统目标,各服务具备特定功能与主动决策能力,可提升系统的去中心化、灵活适配及容错等特性。
2024-07-09 cs.SE
Towards Enabling Architectural Refactorings through Source Code Annotations
众所周知,软件需要改变以满足新的需求。软件体系结构模型和实现的同步对于保持体系结构文档的有用性和软件演化过程的可管理性是非常重要的。在本文中,我们实现了两个步骤的过程中的同步。首先,我们用架构信息扩充源代码。第二,这个“轻量级架构模型”可以更容易地对照完整的架构描述进行检查。基于这种方法,任何一方(代码或架构)的重构都可以自动检测,并且可以进行一致性检查。
2014-09-22 cs.SE
Towards Assurance-Driven Architectural Decomposition of Software Systems
计算机系统是如此复杂,因此它们通常是按照抽象层来设计和分析的。复杂性仍然是用于发现软件设计缺陷和实现错误的逻辑推理工具面临的挑战。抽象也是将这些工具扩展到更复杂系统的常用技术。然而,在许多情况下,系统设计阶段使用的抽象与用于保证的抽象不同。在本文中,我们认为,不同的软件质量保证技术对软件系统的不同方面。为了促进保证,并保证工具顺利集成到软件开发环境(SDLC),我们提出了一个4维元架构,分离计算,协调和有状态的软件工件在设计阶段的早期。我们列举了一些设计和保证的挑战,可以解决这个元体系结构,并演示了一个简单的文件系统的高层次设计。
2021-06-17 cs.SE
Delta-oriented Architectural Variability Using MontiCore
软件体系结构建模是软件开发过程的基本组成部分。软件组件的重用和软件拓扑的早期分析可以降低开发成本并提高软件质量。将可变性建模概念集成到体系结构描述语言(ADL)中,对于开发对软件质量有高要求的多样化软件系统是必不可少的。在本文中,我们提出了三角洲建模到现有的ADL MontiArc的集成。Delta建模是一种独立于语言的可变性建模方法,支持主动式、被动式和提取式产品线开发。我们展示如何?- MontiArc是一种基于delta建模的体系结构可变性显式建模语言,使用DSL开发框架MontiCore实现为领域特定语言(DSL)。我们还演示了如何MontiCore的语言重用机制提供了有效的手段来实现?- MontiArc工具实现。我们评估?- Monti-Arc模型与注释性变异模型的比较。
2014-09-08 cs.SE
Using Social Choice Theory to Finalize Architectural Decisions
无偏见和客观的架构设计决策对于软件开发项目的成功至关重要。利益相关者的投入在达成这样的设计决策中发挥着重要作用。然而,涉众可能会以有偏见的方式行事,以确保他们的需求和关注点在软件中以特定的方式得到解决。大多数现有的架构决策方法都没有充分考虑到涉众的这种有偏见的行为。我们将软件体系结构设计看作是社会选择理论中的集体决策问题,并将机制设计的核心思想引入到我们的领域。我们的贡献是双重的:i)使用社会选择理论的不可能性结果,我们表明,一个理性的利益相关者可以游戏,她的优势,几乎每一个已知的软件架构决策方法。ii)我们还表明,如果架构师愿意承担额外的成本,给予适当的激励利益相关者,那么建筑决策可以保护战略(偏见)操纵。为了实现这一目标,我们介绍了Vickrey-Clarke-Groves(VCG)机制,从社会选择理论的软件体系结构域。我们说明我们的贡献,通过比较和使用的例子,从著名的CBAM方法的建筑决策。
2019-05-27 cs.SE
mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization
自适应软件系统通常被构造成一个自适应引擎,该引擎通过对表示软件架构的运行时模型进行操作来管理自适应软件(基于模型的架构自适应)。尽管这种方法很流行,但现有的范例提供了应用程序编程接口,但没有运行时模型来开发自适应引擎。因此,不存在任何支持开发、评估和比较现成的基于模型的自适应的范例。因此,我们提出了mRUBiS,一个可扩展的基于模型的架构的自我修复和自我优化的范例。mRUBiS模拟自适应软件,并因此提供和维护软件的架构运行时模型,该模型可以直接由自适应引擎使用以实现和执行自适应。特别是,mRUBiS支持将问题注入到模型中,这些问题应该通过自适应来处理,并验证模型以评估自适应。最后,mRUBiS允许开发人员探索适配引擎的变体(例如,事件驱动的自适应),并评估引擎的有效性、效率和可扩展性。
2018-04-03 cs.SE
Architectural Design Activities for JAS
构建任何软件系统的关键部分是其体系结构。建筑设计是一种更高抽象层次的设计。一个好的架构可以保证软件满足其需求。本文定义了在软件开发过程中最重要的体系结构设计活动,并将这些活动应用于电子商务应用中的一种类型--职业中介系统(JAS),以说明这些活动如何在这些类型的应用中发挥作用。
2009-12-05 cs.SE
A Testing Scheme for Self-Adaptive Software Systems with Architectural Runtime Models
自适应软件系统(SASS)配备有反馈回路,以自主地适应软件或环境的变化。在已建立的领域,如嵌入式软件,已经开发出复杂的方法来系统地研究反馈回路早期在开发过程中。为了涵盖反馈的特殊性,包括单向和在环仿真和测试等技术。然而,目前缺乏系统测试SASS的相关方法。因此,在本文中,我们提出了一个系统的测试方案,SASS,允许工程师测试的反馈回路在开发早期利用建筑运行时模型。这些在开发早期可用的模型通常在运行时由反馈循环的活动使用,并且它们提供了合适的高级抽象来描述测试输入以及预期的测试结果。我们通过一个小的案例研究,进一步概述了我们的想法与一些初步的评估结果。
2018-05-17 cs.SE
The Architecture Tradeoff and Risk Analysis Framework (ATRAF): A Unified Approach for Evaluating Software Architectures, Reference Architectures, and Architectural Frameworks
本文提出统一的场景驱动框架ATRAF,通过ATRAM、RATRAM和AFTRAM三种迭代方法,系统评估软件架构、参考架构和架构框架在不同抽象层级上的权衡与风险,弥补了ATAM等现有方法无法处理高层级架构的不足。
2025-05-01 cs.SE
Architectural Consistency Checking in Plugin-Based Software Systems
手动确保软件系统的实现与软件架构一致是一项费力且容易出错的任务。因此,已经开发了各种自动一致性检查的方法来对抗架构侵蚀。然而,这些方法缺乏手段来定义和检查架构限制插件的依赖关系,这是需要基于插件的软件系统。在本文中,我们提出了一个特定于域的语言,称为依赖约束语言(DepCoL),以方便有关插件依赖关系的约束的定义。使用DepCoL,可以定义影响插件组的约束,减少所需的规范工作,仅为特定插件制定约束并细化约束。此外,我们还提供了一个Eclipse插件,它可以检查开发中的软件系统是否与建模的约束一致。这使得无缝集成到开发过程中,以便在软件系统开发期间轻松检查一致性。通过这种方式,开发人员可以立即了解依赖关系违反,这有助于开发人员对抗架构侵蚀。
2015-10-28 cs.SE
A literature review of recent advances in software design and architecture
Chuka University(Chuka大学)
本文综述2024-2025年软件设计与架构研究,采用主题综合法分析五大领域,指出现代架构需覆盖全生命周期,AI辅助等技术可提升软件特性,同时存在实证验证不足等缺口。
2026-07-30 cs.CC cs.SE
Cloud-Native Architectural Characteristics and their Impacts on Software Quality: A Validation Survey
本文通过对42名软件专业人员的问卷调查,验证并修订云原生架构质量模型,提出纳入实证结果的更新版本及可调查层次化复杂结构的问卷工具。
2023-06-21 cs.SE
Shift-Up: A Framework for Software Engineering Guardrails in AI-native Software Development -- Initial Findings
University of Jyväskylä(于韦斯屈莱大学)
本文提出Shift-Up框架,通过重新诠释传统软件工程实践作为结构化防护机制,以稳定AI生成行为并减少实现漂移,提升AI辅助开发的可控性。
2026-04-22 cs.AI cs.SE
Capturing Software Architecture Knowledge for Pattern-Driven Design
软件架构是一个知识密集型领域。存储架构知识的一种机制是架构模式的识别和描述。对于软件架构师来说,选择架构模式是一项具有挑战性的任务,因为关于这些模式的知识分散在大量的文献中。方法:我们报告了一个系统的文献综述,目的是建立一个决策模型的建筑模式选择问题。此外,12个经验丰富的从业人员在软件生产组织评估的可用性和有用性提取的知识。\newline结果:概述了29种模式及其对40种质量属性的影响。此外,我们报告在哪些系统中的29种模式的应用,并在哪些组合。实践者证实,架构知识支持软件架构师的决策过程,为新问题选择一组模式。我们调查了建筑师选择模式的潜在趋势。结论:有了可用的知识,架构师可以更快地选择和消除模式组合来设计解决方案。拥有这些现成的知识可以支持软件架构师做出更高效和有效的设计决策,以满足他们的质量问题。
2020-05-17 cs.SE
A Qualitative Study of Architectural Design Issues in DevOps
软件架构对于DevOps的成功至关重要。然而,设计支持DevOps(DevOps-driven software architecture)的软件架构对组织来说是一个挑战。我们断言,表征DevOps驱动架构的重要步骤之一是理解DevOps中提出的架构设计问题。同时,DevOps上下文中出现的一些架构问题(及其相应的架构实践或策略)可能源于上下文(即,域)和软件组织的特性。为此,我们进行了一项混合方法研究,其中包括一个公司中两个团队在DevOps转型期间的定性案例研究,以及Stack Overflow和DevOps Stack Exchange帖子的内容分析,以了解DevOps中的架构设计问题。我们的研究发现了两个团队面临的八个具体的和上下文相关的架构设计问题,并将Stack Overflow和DevOps Stack Exchange中讨论的架构设计问题分为11组。我们的汇总结果显示,DevOps驱动的架构的主要特征是:松散耦合,优先考虑可部署性,可测试性,可支持性和可修改性。最后,我们讨论了一些具体的研究和实践的影响。
2021-11-13 cs.SE
Formal Semantics of Architectural Decision Models
软件架构是软件架构师做出的多个决策的结果。这些决策被称为架构决策,因为它们为架构问题带来解决方案。决策之间的关系可以在架构决策模型中捕获。这样的模型是软件架构师可重用知识的一种形式。文献中已经描述了几种模型,引入了必要的概念和关系。这些概念和关系通常用自然语言来解释。到目前为止,对它们的正式定义还没有做太多的工作。具体来说,这样一个架构决策模型的定义仍然缺失。本文的目的是填补这一空白,在语法和语义两个层次上提供了一个架构决策模型的正式定义。在语法级别,作为模型元素的不同概念和关系已经被数学定义。在语义层次上,模型的意义以指称语义的形式被定义。形式化不仅允许更好地理解架构决策模型,还打开了对这些模型进行推理的可能性,例如,检查它们的一致性-这对于迄今为止提出的模型来说是非常有限的。一个实际的例子,建筑决策模型的语义。
2018-07-08 cs.SE
Exploring Web Search Engines to Find Architectural Knowledge
软件工程师需要相关的和最新的架构知识(AK),以便做出有根据的设计决策。然而,找到这样的AK是相当具有挑战性的。一种实用的方法是使用传统的搜索引擎(例如Google)在Web上搜索AK;这是软件工程师的常见做法。尽管如此,我们对AK是从哪里取回的,以及它有多有用知之甚少。在本文中,我们进行了实证研究,53名软件工程师,谁使用谷歌使用属性驱动设计方法进行设计决策。基于受试者如何评估检索结果的性质和相关性,我们确定了网络搜索引擎找到相关建筑信息的有效性。此外,我们确定了网络上AK的不同来源及其相关的AK概念。
2021-03-22 cs.SE
Architectural Challenges in Migrating Plan-driven Projects to Agile
软件开发已经稳步地接受敏捷软件开发方法/方法(ASDM),并且已经远离计划驱动的软件开发方法(PDM)方法,如瀑布。鉴于敏捷开发的迭代特性,将软件架构集成到敏捷方式中变得具有挑战性。本研究通过文献回顾和案例分析,确定了在已经通过计划驱动方法执行的项目和新项目中拥有强大架构的挑战。随后的分析发现,有三个主要领域:人,过程和技术,这些挑战可以映射。
2021-02-28 cs.SE
Minimizing the Risk of Architectural Decay by using Architecture-Centric Evolution Process
软件系统在其整个生命周期中经历了许多值得注意的变化,以跟踪问题域的演变。通常,软件系统体系结构不能跟随问题域的快速演化,这导致实现的体系结构和设计的体系结构之间的差异。软件体系结构描述了一个系统的结构和全局属性,从而不仅决定了系统应该如何构造,而且还引导了系统的演化。体系结构在确保系统在实现和演化过程中满足其业务和任务目标方面扮演着重要角色。然而,当实现不符合所设计的架构时,所设计的架构的能力可能会丢失。这种一致性的丧失会导致架构衰退的风险。如果尽早进行架构更改,则可以避免架构衰退。本文提出了以体系结构为中心的演化过程模型,该模型通过保持设计的体系结构和实现之间的一致性来提高软件系统的质量。它还增加了开发人员的架构意识,这有助于最大限度地减少架构衰退的风险。在所提出的方法中,在变更实施之前和之后执行一致性检查。
2011-11-29 cs.SE
A quantitative framework for evaluating architectural patterns in ML systems
本文提出一个量化评估框架,通过可扩展性和性能指标,帮助软件架构师在机器学习系统中客观选择最优架构模式,以应对成本效益高的CPU推理挑战。
2025-01-20 cs.SE
Requirements for Active Assistance of Natural Questions in Software Architecture
本文研究软件架构中自然问题的生命周期及其管理需求,提出通过集成知识管理工具和AI技术构建辅助环境,以更有效地支持协作、决策和架构知识保存。
2025-06-30 cs.SE
Embedding Software Intent: Lightweight Java Module Recovery
Department of Informatics, University of California, Irvine(信息学院,加州大学伊文斯顿分校)
本文提出ClassLAR方法,通过类和语言模型恢复Java模块,提升架构恢复效率和准确性。
2025-12-17 cs.AI cs.SE
Learning From Each Other: How Are Architectural Mistakes Communicated in Industry?
本文通过访谈十名德国软件架构师的扎根理论研究,考察架构错误的定义、处理与沟通方式,发现其主要局限于项目团队,并提出促进跨团队学习与错误预防的策略。
2023-07-10 cs.SE
A Conceptual Framework to Analyze Enterprise Business Solutions from a Software Architecture Perspective
当软件供应商向客户展示产品时,软件系统的体系结构方面并不总是明确地暴露给客户。因此,如果新出现的业务需求需要修改其组织内的某些核心业务流程,则客户可能会面临重大风险。因此,他们可能需要替换现有系统或重新构建旧系统,以符合新的架构标准。本文介绍了一个建议的框架,帮助组织建立一个全面的看法,他们的系统架构之前,处理供应商。因此,每个组织都可以有一个参考模型,便于与软件供应商进行谈判和沟通。本文应用所提出的框架,在沙特阿拉伯地区的一个组织,以验证其适用性,并生成一个架构设计,为他们的软件系统。
2012-10-14 cs.SE
An AUTOSAR-Aligned Architectural Study of Vulnerabilities in Automotive SoC Software
Chalmers University of Technology(查尔姆斯理工大学);University of Gothenburg(哥德堡大学);Scania CV AB(斯堪尼亚商用车公司)
本研究分析180个汽车SoC漏洞,映射至AUTOSAR架构模型,识别16个根因和56个受影响模块,揭示漏洞模式及补丁延迟,为SoC软件安全提供检测与定位策略。
2025-10-09 cs.SE
An efficient high-quality hierarchical clustering algorithm for automatic inference of software architecture from the source code of a software system
Universiteit van Amsterdam(阿姆斯特丹大学)
它是一个高质量的大型软件源代码的层次聚类算法。这有效地允许打破数千万行源代码的复杂性,使得人类软件工程师可以通过查看从软件系统的源代码自动重构的软件系统的架构图来理解高级别的软件系统。架构图显示了一个子系统树,在其叶子中有OOP类(换句话说,嵌套的软件分解)。该工具从软件系统的源代码中重建缺失(不一致/不完整/不存在)的体系结构文档。这有利于软件维护:更改请求可以更快地执行。简单地说,这个独特的工具允许提升面向对象软件系统的可理解性,从OOP类级到子系统级。据估计,在这项工作的基础上开发的商业工具,将减少软件维护费用的10倍,目前的需求,并将允许实现下一代软件系统,目前太复杂的范围内的人类理解,因此还不能设计或实施。在开放源代码中实现原型:http://sourceforge.net/p/insoar/code-0/1/tree/
2012-02-15 cs.AI cs.LG cs.SE
Implementing Software Project Control Centers: An Architectural View
在工业实践中,建立有效和高效的软件和系统开发项目控制机制仍然具有挑战性。一方面,往往缺乏必要的先决条件,如既定的发展进程、对相关指标的因果关系的理解以及衡量方案的充分可持续性。另一方面,有更根本的方法缺陷有关的控制过程本身和适当的工具支持。保证控制数据的有用性、完整性和精确性的其他活动普遍缺失。本文提出了一个所谓的软件项目控制中心(SPCC),解决这些挑战的概念架构。该架构包括获取足够准确和完整的数据以及支持不同利益攸关方信息需求的机制。此外,该体系结构的实现,所谓的镜面工程支持环境,勾勒,并从评估在工业环境中实现的结果。
2014-01-07 cs.SE
Architecture Knowledge Representation and Communication Industry Survey
本文通过调查荷兰一家银行45位架构师,分析架构知识表示与沟通现状,发现金融领域缺乏领域专用AK工具,并提出需构建连接多利益相关者视角的新架构元素及提供可持续软件工程实践指导。
2023-09-20 cs.SE
What rationales drive architectural decisions? An empirical inquiry
本文通过问卷与访谈实证探究架构决策背后的理据,发现架构师偏好熟悉或能快速实现的方案,中期职业者更开放,且兼容性与可移植性因现代开发实践而较少被关注。
2023-09-25 cs.SE
A Reference Architecture and Modelling Principles for Architectural Stability based on Self-Awareness: Case of Cloud Architectures
随着对软件依赖的增加,迫切需要设计长寿的软件。由于体系结构对软件的生命周期和所提供的服务质量有着深远的影响,因此稳定的体系结构是重要的资产。体系结构的稳定性往往反映了系统在支持持续变化而不逐步淘汰方面的成功。稳定性的\textit{behavioural}方面对于无缝操作是必不可少的,以持续保持质量需求的稳定,并防止体系结构的漂移和逐步淘汰。在本文中,我们介绍了一个参考体系结构和模型的稳定性。具体来说,我们利用自我意识原则和运行时目标建模来显式地支持架构稳定性。为了说明适用性和评估所提出的方法,我们考虑云架构的情况。实验结果表明,我们的方法提高了效率的架构在保持预期的行为稳定运行时操作。
2019-12-11 cs.DC cs.SE
Evolving Delta-oriented Software Product Line Architectures
多样性在现代软件系统中很普遍。同时存在几种系统变体,以适应不断变化的用户需求。此外,软件系统随着时间的推移而发展,以适应其应用环境中的意外变化。在现代软件开发中,软件体系结构建模是通过体系结构分解来处理系统复杂性的重要手段。这就需要一种能够表示空间和时间可变性的体系结构描述语言。在本文中,我们提出了三角洲建模的软件体系结构作为一个统一的建模形式主义的建筑在空间和时间上的变化。为了避免产品线模型在系统演化下的退化,我们提出了重构技术来维护和提高可变性模型的质量。使用一个正在运行的例子,从汽车领域,我们评估我们的方法进行了案例研究,比较三角洲建模与注释性的可变性建模。
2014-09-08 cs.SE
Object-Oriented Architecture: A Software Engineering-Inspired Shape Grammar for Durands Plates
本研究提出一种基于函数式与面向对象编程的形状语法系统,以 Durand 风格模块化生成图版,为在 CAD 软件中系统构建复杂历史建筑元素提供了灵活的计算解决方案。
2024-04-20 cs.SE