面向基于契约式设计的软件架构设计

M. Ozkaya, C. Kloukinas
{"title":"面向基于契约式设计的软件架构设计","authors":"M. Ozkaya, C. Kloukinas","doi":"10.1109/SoMeT.2013.6645654","DOIUrl":null,"url":null,"abstract":"Design-by-Contract (DbC) gained wide familiarity among software developers for specifying software. It aids in documenting the behaviour of class methods as contracts between clients of the methods (pre-) and their suppliers (post-condition). This not only allows developers to document software behaviour precisely at such a high-level that can more easily be communicated, but also enables the formal verification of the behaviour. In this paper, we provide a comprehensive extension to DbC so that it can also be applied to the level of software architecture design. We illustrate this through our architecture description language XCD. Components in XCD have four different types of interfaces: provided and required interfaces of methods or emitter and consumer interfaces of events where methods/events are contractually specified. Contract specification is separated into functional and interaction contracts thus modularising the functional and interaction component behaviours. Furthermore, treating interaction protocols as connectors, XCD allows to specify connectors with interaction contracts that participating components adhere to. The formal semantics of XCD are defined using Finite State Process (FSP) thus enabling formal analysis of contractually specified software architectures for quality properties, e.g., deadlock.","PeriodicalId":447065,"journal":{"name":"2013 IEEE 12th International Conference on Intelligent Software Methodologies, Tools and Techniques (SoMeT)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":"{\"title\":\"Towards Design-by-Contract based software architecture design\",\"authors\":\"M. Ozkaya, C. Kloukinas\",\"doi\":\"10.1109/SoMeT.2013.6645654\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Design-by-Contract (DbC) gained wide familiarity among software developers for specifying software. It aids in documenting the behaviour of class methods as contracts between clients of the methods (pre-) and their suppliers (post-condition). This not only allows developers to document software behaviour precisely at such a high-level that can more easily be communicated, but also enables the formal verification of the behaviour. In this paper, we provide a comprehensive extension to DbC so that it can also be applied to the level of software architecture design. We illustrate this through our architecture description language XCD. Components in XCD have four different types of interfaces: provided and required interfaces of methods or emitter and consumer interfaces of events where methods/events are contractually specified. Contract specification is separated into functional and interaction contracts thus modularising the functional and interaction component behaviours. Furthermore, treating interaction protocols as connectors, XCD allows to specify connectors with interaction contracts that participating components adhere to. The formal semantics of XCD are defined using Finite State Process (FSP) thus enabling formal analysis of contractually specified software architectures for quality properties, e.g., deadlock.\",\"PeriodicalId\":447065,\"journal\":{\"name\":\"2013 IEEE 12th International Conference on Intelligent Software Methodologies, Tools and Techniques (SoMeT)\",\"volume\":\"30 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-10-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"8\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2013 IEEE 12th International Conference on Intelligent Software Methodologies, Tools and Techniques (SoMeT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SoMeT.2013.6645654\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 IEEE 12th International Conference on Intelligent Software Methodologies, Tools and Techniques (SoMeT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SoMeT.2013.6645654","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

摘要

契约式设计(DbC)在软件开发人员中获得了广泛的熟悉,用于指定软件。它有助于将类方法的行为作为方法的客户机(前置)和它们的提供者(后置条件)之间的契约记录下来。这不仅允许开发人员在这样一个更容易沟通的高层精确地记录软件行为,而且还允许对行为进行正式的验证。在本文中,我们为DbC提供了一个全面的扩展,以便它也可以应用于软件体系结构设计层面。我们通过架构描述语言XCD来说明这一点。XCD中的组件有四种不同类型的接口:方法的提供和需要的接口,或者事件的发射器和消费者接口(其中方法/事件是通过契约指定的)。契约规范被分为功能契约和交互契约,从而模块化了功能和交互组件的行为。此外,通过将交互协议视为连接器,XCD允许指定具有参与组件遵循的交互契约的连接器。XCD的形式化语义是使用有限状态过程(FSP)定义的,因此可以对合同指定的软件架构进行形式化分析,以获得质量属性,例如死锁。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Towards Design-by-Contract based software architecture design
Design-by-Contract (DbC) gained wide familiarity among software developers for specifying software. It aids in documenting the behaviour of class methods as contracts between clients of the methods (pre-) and their suppliers (post-condition). This not only allows developers to document software behaviour precisely at such a high-level that can more easily be communicated, but also enables the formal verification of the behaviour. In this paper, we provide a comprehensive extension to DbC so that it can also be applied to the level of software architecture design. We illustrate this through our architecture description language XCD. Components in XCD have four different types of interfaces: provided and required interfaces of methods or emitter and consumer interfaces of events where methods/events are contractually specified. Contract specification is separated into functional and interaction contracts thus modularising the functional and interaction component behaviours. Furthermore, treating interaction protocols as connectors, XCD allows to specify connectors with interaction contracts that participating components adhere to. The formal semantics of XCD are defined using Finite State Process (FSP) thus enabling formal analysis of contractually specified software architectures for quality properties, e.g., deadlock.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信