没有合适的资源?快使用搜索试试~ 我知道了~
首页SCC范式下的软件开发:规范驱动与架构描述语言
SCC范式下的软件开发:规范驱动与架构描述语言
0 下载量 42 浏览量
更新于2024-06-18
收藏 12.91MB PDF 举报
"这篇博士学位论文关注的是基于设计范式的软件开发,特别是规范驱动编程在这一领域的应用。作者Damien Cassou在2011年3月17日进行了答辩,并获得了波尔多第一大学(计算机专业)的博士学位。论文的核心是提出一个针对感知-计算-控制(SCC)范式的概念框架,这种范式常用于描述那些依赖外部事件的应用程序,如图形界面和航空系统。论文中介绍了一种架构描述语言,该语言能够用来生成编程框架,以支持和验证应用程序的实现是否符合设计规范。 论文的主要贡献在于其提供的表达能力、可用性和生产力的提升。它不仅定义了描述SCC应用程序的结构,还提供了自动化工具来简化开发过程。论文中引用的先前工作包括在国际会议上的发表,如在ICSE'11上关于使用领域特定的ADL改进软件设计、编程和验证的论文,以及在GPCE'09上关于生成式编程方法用于开发环境计算系统的论文。此外,还有一篇在PerCom'10会议上展示的用于环境计算应用的工具套件的演示。 这篇论文的工作不仅深入探讨了规范驱动编程在SCC应用中的实践,而且对软件开发工具有了创新性的贡献,强调了设计与实现之间的紧密联系,以及如何通过形式化的方法来增强软件的正确性和可维护性。这为软件工程领域的研究和实践提供了重要的理论基础和实用工具。"
资源详情
资源推荐
[ 25 mars 2011 at 16:11 ]
1
L E PARADIGME SCC
Un paradigme de programmation est un ensemble de règles,
de concepts et de pratiques qui contraint et guide le développe-
ment d’une application, de la réalisation de son architecture au
déploiement, en passant par l’implémentation et le test. Un tel
paradigme est souvent associé à un style (ou patron) architec- Taylor et al. [
106
]
définissent une
différence entre style
et patron, celle-ci
sort du cadre de
cette thèse
tural qui est un ensemble de décisions réutilisables concernant
l’architecture d’une application [106, chap. 3].
Nombre d’applications ont pour comportement principal
(1) l’attente d’un événement (un clic, la réception d’un message,
etc.
), (2) la préparation d’un résultat (une page web, la représen-
tation d’un message,
etc.
) et (3) l’exécution d’actions en retour
(renvoi de la page web au client, affichage d’une notification,
etc.
). Le paradigme SCC, pour
sense-compute-control
, est particuliè-
rement adapté à la description de ces applications [
106
, p. 97].
Par la suite, nous appellerons les applications pour lesquelles le
paradigme SCC est applicable les applications SCC.
3
[ 25 mars 2011 at 16:11 ]
0
本章描述了SCC范式的使用范围及其重要性。
0
1.1范围的范式
0
首先,我们通过阅读其特征来定义SCC范式的范围。然后,我们研究可
以利用这个范式的应用领域。
0
1.1.1特征
0
SCC范式适用于与环境交互的应用程序。该环境可以是物理的、软件的
,或者两者的组合。物理环境可以包括建筑物、用户或硬件设备。软件
环境可以包括Web服务、第三方应用程序或数据库。
0
SCC应用以两种方式与环境交互:捕获信息和对其进行操作。SCC范式
通过将应用程序分为四个层次(图1)来简化这些应用程序的开发。
[ 25 mars 2011 at 16:11 ]
0
4SCC范式
0
捕获层
0
环境
0
精炼层控制层行动层环境
0
应用程序
0
数据
0
命令
0
图1:SCC应用的四个层次
0
捕获层
应用程序的底层从环境中捕获有用的信息,并使这些数据对应用程序的
其余部分可访问。例如,捕获层可以传输测量的温度。
0
精炼层
上层精炼从捕获层的数据向更高级的应用数据进行精炼。精炼可以是多
个数据的聚合或数据的转换。例如,精炼层通过对多个测量值求平均来
提供房屋的温度。
0
控制层
在控制层中,来自精炼层的应用数据被用于决策行动。这是通过向行动
层发送命令来实现的。例如,控制层可以决定在平均温度过低时打开暖
气。
0
行动层
行动层是最高层,接收控制层的命令。该层执行下层的命令,对环境产
生作用。例如,行动层负责控制暖气的温度。
0
精炼层和控制层包含应用逻辑。Taylor等人[106]将这两个层合并为同一层,其作用是从捕获层获取低级数据并操作
行动层的元素。尽管更简单,但这种划分将这三个层次命名为sense-compute-control。
0
混合了信息计算和使用计算结果的角色。在这个论文中,我们将系统地
使用四层划分。
0
应用程序与环境之间的接口是通过各种类型的现成实体进行的:传感器
或执行器,软件或硬件,高级或低级等。这些实体使用特定的平台,具
有不同的交互模式,并提供非标准化的接口。为了解决这种异构性,
0
1.1范围的范式5
0
环境
0
细化
0
执行
0
控制
0
捕获
0
数据
0
命令
0
数据
0
应用
0
图2:四个层次以环境为中心形成的循环
0
SCC应用的捕获和执行层将应用程序和环境之间的接口与应用逻辑隔离
,以确保不会影响整个应用程序的代码。
0
这四个层次也可以以环境为中心形成循环,如图2所示。我们将看到这
种类型的循环在自修复和自配置的自主系统领域中得到特别应用。
0
SCC应用通常部分或全部分布式。例如,智能家居应用中,捕获层的元
素被放置在环境的最近位置:传感器部署在每个房间,并使用网络与应
用程序的其他部分进行通信。
0
因此,SCC范式通过与环境的交互、具有不同角色的四个层次、应用逻
辑与环境的独立性需求以及应用元素的全部或部分分布来定义。
0
1.1.2相关应用领域
0
在绝对意义上定义了SCC范式之后,我们现在以相对意义来列举已经使
用或可能受益于SCC范式的领域的非详尽列表。对于每个领域,我们列
出了一些典型应用,并对环境进行了描述。
0
机器人技术领域,环境由机器人(包括知识库、马达、程序等)和其周
围环境(如墙壁、地板等)组成
0
[2011年3月25日16:11]
0
6SCC范式
0
例如,机器人技术的应用包括用户娱乐和任务完成(如建筑、清洁等)
。
0
在魏瑟的愿景中,普适计算将软件和硬件元素结合在一起,使用户无法
察觉它们的存在。为了实现这一目标,普适计算应用程序必须“意识到
”它们的环境,即所谓的上下文,并在不需要用户干预的情况下进行适
应。在普适计算中,环境包括用户、他们的周围环境(如房间或建筑物
)、移动设备(如手机和多媒体播放器)以及固定设备(如屏幕和灯)
。普适计算应用程序的许多例子中,有一个是移动跳蚤市场,它会提醒
附近的买家可能感兴趣的卖家。还有一些应用程序根据收件人的位置来
转移电话呼叫,或者在收件人忙碌时提供更换通信方式的选择。
0
航空航天领域,无论是民用还是军用飞机,都配备了大量的传感器。这
些传感器提供飞机的位置、迎角、外部温度以及风速和风向等信息。这
些传感器提供的信息被传输到多个系统,如导航系统、通信系统、自动
驾驶系统和雷达系统。对于这些系统来说,环境包括飞机本身、机组人
员、乘客、飞机周围环境以及空中交通管制塔台。其中一个明显的应用
是自动驾驶系统,还有旨在为乘客提供信息和娱乐的机上娱乐系统。
0
汽车汽车的标准机电系统包括电子控制系统,也称为电气/电子架构[5,
67,
68]。该架构由传感器(温度、速度等)、执行器(空调、安全气囊、仪
表板)和一个或多个计算机(称为电子控制单元或ECU)组成。环境由
汽车、乘客和汽车周围的环境组成。应用程序可以调节车内温度,帮助
驾驶等。
0
[2011年3月25日16:11]
剩余155页未读,继续阅读
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功