MDA

MDA是Model Driven Architecture 的缩写,也叫模型驱动架构,起源于分离系统规约和平台实现的思想,MDA的主要目标是:Portability(可移植性),Interoperability(互通性),Reusability(可重用性)

先有一个平台独立模型(PIM),通过工具将平台独立模型映射为平台相关模型(PSM),再由平台相关模型生成代码。

MDA和核心模型:

  • 平台独立模型(PIM):具有高抽象层,独立于任何实现技术的模型
  • 平台相关模型(PSM):为某种特定实现技术量身定做,让你用这种技术中可用的实现构造来描述系统的模型。PIM会被变成一个或多个PSM
  • 代码Code:用源代码对系统的描述(规约),每个PSM都将被变成代码。

就是能通过一套通用程序生成另外一套程序或应用

ADL

ADL是一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体化语法和概念框架。

ADL三个基本元素:
构件:计算或数据存储单元
连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则
架构配置:描述体系结构的构件和连接件的连接图

ADL 建模用,一些伪代码

DSSA

DSSA(Domain Specific Software Architecture)特定领域软件架构,可以看做开发产品线的一个方法或理论,目标就是支持一个特定领域中多应用的生成。
必备特征:

  • 一个严格定义的问题域或解决域
  • 具有普遍性,使其可以用于领域中某个特定应用的开发
  • 对整个领域的合适程序的抽象
  • 具备该领域固定的、典型的在开发过程中的可复用元素

领域分析机制:

  • 领域专家:有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。领域专家的主要任务包括提供关于领域中系统的需求规约和实现的知识。
  • 领域分析人员:领域分析人员应由具有知识工程背景的有经验的系统分析员来担任
  • 领域设计人员:领域设计人员应由有经验的软件设计人员来担任
  • 领域实现人员:领域实现人员应由有经验的程序设计人员来担任

三层次模型:

【系统架构】-什么是MDA架构、ADL、DSSA相关推荐

  1. 系统架构设计师如何进行架构设计

    9.1 软件架构概述 9.1.1 软件架构的定义 定义1:软件或计算机系统的软件架构是该系统的一个(或多个)结构,而结构有软件元素.元素的外部可见属性及他们之间的关系组成. 定义2:软件架构为软件系统 ...

  2. 公开课:如何成为一名高级系统运维工程师(架构师)?

        如何成为一名高级系统运维工程师(架构师)? --老男孩教育赵班长 内容简介: 突破瓶颈,从普通系统运维成长为高级系统工程师.架构师,如何提升,需要掌握哪些技能和知识,公开课上为您解惑. 分享形 ...

  3. 系统由单体架构到微服务架构到底是如何演进的?

    随着互联网的发展,互联网企业的业务也在不断的飞速发展,进而导致系统的架构也在不断的发生着变化.总体来说,系统的架构大致经历了:单体应用架构->垂直应用架构->分布式架构->SOA架构 ...

  4. 亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构

    <缓存架构+高可用服务架构+微服务架构>深入讲解了亿级流量电商详情页系统的完整大型架构.同时最重要的是,在完全真实的大型电商详情页系统架构下,全流程实战了整套微服务架构,包含了基于领域驱动 ...

  5. ML:MLOps系列讲解之《MLOps原则之监控/“机器学习成绩”系统/可再现性/松散耦合架构(模块化)/基于ML的软件交付指标/MLOps原则和实践的总结》解读

    ML:MLOps系列讲解之<MLOps原则之监控/"机器学习成绩"系统/可再现性/松散耦合架构(模块化)/基于ML的软件交付指标/MLOps原则和实践的总结>解读 目录

  6. ML:MLOps系列讲解之《MLOps原则—迭代增量过程/自动化/持续部署/版本控制/实验跟踪/测试/监控/“ML成绩”系统/可再现性/松散耦合架构(模块化)/基于ML的软件交付指标等》解读

    ML:MLOps系列讲解之<MLOps原则-迭代增量过程/自动化/持续部署/版本控制/实验跟踪/测试/监控/"ML成绩"系统/可再现性/松散耦合架构(模块化)/基于ML的软件 ...

  7. 融合、协同系统的边缘云原生架构演进和实践

    简介:云原生和边缘计算是近两年都非常火的技术话题了,在第十届云计算标准和应用大会上,阿里云高级技术专家熊鹰分享了<基于融合.协同系统的边缘云原生架构演进和实践>,希望通过介绍现在阿里云在边 ...

  8. 支付系统整体设计:整体架构设计以及注意要点(一)

    016-11-23 01:43:00 来源: 凤凰牌老熊 导读: 在支付系统中,支付网关和支付渠道的对接是最核心的功能.其中支付网关是对外提供服务的接口,所有需要渠道支持的资金操作都需要通过网关分发到 ...

  9. 系统架构:Web应用架构的新趋势 前后端分离的想法

    最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...

  10. 阿里云熊鹰:基于融合、协同系统的边缘云原生架构演进和实践

    简介: 云原生和边缘计算是近两年都非常火的技术话题了,在第十届云计算标准和应用大会上,阿里云高级技术专家熊鹰分享了<基于融合.协同系统的边缘云原生架构演进和实践>,希望通过介绍现在阿里云在 ...

最新文章

  1. V4L2获取usb视频流测试代码
  2. python中collections_Python中的collections模块
  3. 充一次电使用一年的手机_电动自行车使用充电桩充不满电?原因终于找到了!...
  4. 【Java后端】三目运算符失效问题刨根问底(及NPE分析)
  5. WQL Analyzer V1.1(WMI查询分析器)
  6. 各个行业纷纷瞅准了这块大蛋糕
  7. ctfshow-WEB-web3
  8. MSSQLServer基础07(事务,存储过程,分页的存储过程,触发器)
  9. +号的用法(3+5+“8”与“3”+5+8相同吗)
  10. 2013-07-23 IT 要闻速记快想
  11. SQL点点滴滴_常用函数
  12. 生日快乐编程代码_「世界上最好的编程语言」,刚刚度过了25周岁生日
  13. 东汉十三州以及各个郡的说明
  14. 2020年度全球人工智能十大事件
  15. 幅频特性曲线protues_函数幅频特性曲线
  16. time_t和SYSTEMTIME之间的相互转换 【转】
  17. HelloWorld是如何在计算机里跑起来的?
  18. es6面试题总结(一)
  19. css之如何清除浮动
  20. 房屋租赁系统 nodejs+vue微信小程序

热门文章

  1. 5、kali安装输入法——搜狗拼音
  2. reflector 插件_Reflector Plus Plus-插件,IronPython和其他Peli Goodness
  3. php filesize stat failed for,PHP filesize()适用于除一个文件之外的所有文件,给出stat失败错误...
  4. MAC使用Charles,代理后,部分网页无法打开解决方法
  5. 081-反射(Kind)
  6. 新浪微博API错误代码大全
  7. 百度地图 baidu-map 地图根据范围画圈
  8. ce修改魔兽争霸服务器存档,魔兽争霸3用CE修改找金钱基址
  9. 2022年全球与中国磁阻随机存储器(MRAM)市场现状及未来发展趋势
  10. 国产系统中标麒麟安装教程