架构描述语言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.

相关推荐
技术与健康12 小时前
什么是ADSE?逻辑驱动的软件工程新范式
软件工程
卓码软件测评14 小时前
第三方软件课题验收测试【使用Docker容器部署LoadRunner负载生成器以实现弹性压测 】
测试工具·docker·容器·性能优化·单元测试·测试用例
雾江流15 小时前
HDx播放器1.0.184 | 支持多种格式和4K/8K高清视频播放,内置推特~脸书下载器
音视频·软件工程
会周易的程序员15 小时前
openPLC REST API 参考(英译中)
c++·物联网·架构·软件工程·iot
耿小洋15 小时前
如何借助AI完成测试用例的生成?实测高效落地指南
人工智能·测试用例
Andy Dennis15 小时前
一文漫谈面向对象编程中的SOLID编程
java·软件工程·设计规范
云捷配低代码16 小时前
低代码平台落地方法论:从试点到推广(二)
低代码·需求分析·数字化·数字化转型
PPPPPaPeR.16 小时前
Linux进程概念
linux·软件工程
数据爬坡ing1 天前
数据结构之字符串KMP
java·数据结构·机器学习·软件工程
程序员三藏1 天前
selenium测试框架快速搭建
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例