利用软件架构指导和验证感测/计算/控制应用程序的开发
Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications
摘要:
软件体系结构通过指定软件组件及其交互来描述计算系统的结构。将软件架构映射到实现是一个众所周知的挑战。这种映射的一个关键元素是架构对组件之间的数据和控制流交互的描述。这些交互的特征可以是相当抽象的,也可以是非常具体的,提供或多或少的实现指导、编程支持和静态验证。在本文中,我们探讨了一个点之间的抽象和具体的组件交互规范的设计空间。我们引入了行为契约的概念,它表达了组件之间允许的交互,描述了数据和控制流约束。此声明是架构描述的一部分,允许生成广泛的编程支持,并启用各种验证。我们实例化我们的方法在感/计算/控制应用程序的域的架构描述语言,并描述相关的编译和验证策略。
英文摘要:
A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract or very concrete, providing more or less implementation guidance, programming support, and static verification. In this paper, we explore one point in the design space between abstract and concrete component interaction specifications. We introduce a notion of behavioral contract that expresses the set of allowed interactions between components, describing both data and control-flow constraints. This declaration is part of the architecture description, allows generation of extensive programming support, and enables various verifications. We instantiate our approach in an architecture description language for the domain of Sense/Compute/Control applications, and describe associated compilation and verification strategies.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。