架构描述语言Architecture frameworks and architecture description languages

Architecture frameworks and architecture description languages

In systems and software engineering, the notion of architecture framework dates back to the 1970s [6, 44]. The motivation for the definition of the term (3.6) and its specification (in 6.1) in this International Standard is to provide a means of defining existing and future architecture frameworks in a uniform manner to promote sharing of information about systems, architectures and techniques for architecture description, inter-working to enable improved understanding, and interoperability between architecture communities who are using different conceptual foundations. The uniform definition of architecture viewpoints and coordinated collections of such viewpoints can promote reuse of tools and techniques to the communities using these frameworks.

The specification of architecture framework is intended to establish the relationships between an architecture framework and other concepts in this International Standard (illustrated in figures 2 and 4). Architecture frameworks often include additional content, prescriptions and relationships, such as process requirements, life cycle connections, and documentation formats, not defined by this International Standard, but potential future areas of standardization.

The term architecture description language (ADL) has been in use since the 1990s in the software, systems and enterprise architecture communities. Within the conceptual model of this International Standard, an architecture description language is any language for use in an architecture description. Therefore an ADL can be used by one or more viewpoints to frame identified system concerns within an architecture description.

Early ADLs included Rapide (Stanford) [25], Wright (CMU) [43], and Darwin (Imperial College). ADLs focused on structural concerns: large-scale system organization expressed in terms of components, connectors and configurations and varying support for framing behavioral concerns. More recently, "wide-spectrum" ADLs have been developed which support a wider range of concerns. These include Architecture Analysis & Description Language (AADL) [37], SysML [31], and ArchiMate [40]. EXAMPLES 1 and 2 describe two contemporary ADLs with reference to their relationship to the conceptual model defined in this International Standard.

EXAMPLE 1 ArchiMate organizes ADs into several layers of concerns: Business, Application and Technology (or Infrastructure); several aspects of concerns within each of those layers: Structural, Behavioral and Informational aspects, and defines eighteen basic viewpoints for these. Each viewpoint is defined via its own metamodel, relating that viewpoint o others, and specifying, the stakeholders, concerns, purpose, layers and aspects.

EXAMPLE 2 The Systems Modeling Language (SysML) is built upon UML. SysML defines several types of diagrams: Activity, Sequence, State Machine, Use Case, Block Definition, Internal Block, Package, Parametric, and Requirement diagrams. In the terms of this International Standard, each SysML diagram type is a model kind. SysML provides firstclass constructs for Stakeholders, Concerns, Views and Viewpoints so that users can create new viewpoints in

accordance with this International Standard. Like an architecture framework, an ADL frames a specific set of concerns for an audience of stakeholders, by defining one or more model kinds together with any associated analysis methods or tools. Similar to an architecture framework or architecture viewpoint, an ADL is a reusable resource---it is not limited in use to an individual system or architecture description.

相关推荐
上海知从科技15 小时前
SENT传输协议:汽车传感器数字化通信的最优解决方案
科技·安全·汽车·软件工程·汽车电子
June bug16 小时前
【AI赋能测试笔记】5基于文档用例生成系统及skills
笔记·功能测试·职场和发展·测试用例·学习方法
测试修炼手册1 天前
[测试工具] 用 Codex 做测试实战:从需求分析到自动化用例落地
运维·自动化·需求分析
_codemonster1 天前
(案例)(第十一章)软考系统分析师「软件需求工程」核心知识梳理
需求分析
CETOL公差分析2 天前
CETOL 6σ 在汽车工程领域的深度应用:从底盘到三电系统的公差优化实践
汽车·软件工程
琢磨先生David2 天前
未来十年软件工程专业就业前景
软件工程
油丶酸萝卜别吃2 天前
JavaScript 深度合并函数 deepMerge 实现指南(附完整测试用例)
开发语言·javascript·测试用例
慧一居士2 天前
冒烟自测用例怎么写?
功能测试·单元测试·测试用例·可用性测试·模块测试
_codemonster2 天前
测试用例怎么写
运维·服务器·测试用例