Elemental design patterns: a formal semantics for composition of OO software architecture

J. McC Smith, D. Stotts
{"title":"Elemental design patterns: a formal semantics for composition of OO software architecture","authors":"J. McC Smith, D. Stotts","doi":"10.1109/SEW.2002.1199472","DOIUrl":null,"url":null,"abstract":"Design patterns are an important concept in the field of software engineering, providing a language and application independent method for expressing and conveying lessons learned by experienced designers. There is a large gap, however, between the aesthetic and elegance of the patterns as intended and the reality of working with an ultimately mathematically expressible system such as code. We describe a step towards meaningful formal analysis of code within the language of patterns, and discuss potential uses. The major contributions include: a compendium of elemental design patterns (EDPs), a layer of seemingly simplistic relationships between objects that, on closer inspection, provide a critical link between the world of formal analysis and the realm of pattern design and implementation without reducing the patterns to merely syntactic constructs; an extension to the /spl sigmav/-calculus, termed /spl rho/-calculus, a formal notation for expressing relationships between the elements of object oriented languages, and its use in expressing the EDPs directly. We discuss their use in composition and decomposition of existing patterns, identification of pattern use in existing code to aid comprehension, and future research directions, such as support for refactoring of designs, interaction with traditional code analysis systems, and the education of students of software architecture.","PeriodicalId":146269,"journal":{"name":"27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2002-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"41","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEW.2002.1199472","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 41

Abstract

Design patterns are an important concept in the field of software engineering, providing a language and application independent method for expressing and conveying lessons learned by experienced designers. There is a large gap, however, between the aesthetic and elegance of the patterns as intended and the reality of working with an ultimately mathematically expressible system such as code. We describe a step towards meaningful formal analysis of code within the language of patterns, and discuss potential uses. The major contributions include: a compendium of elemental design patterns (EDPs), a layer of seemingly simplistic relationships between objects that, on closer inspection, provide a critical link between the world of formal analysis and the realm of pattern design and implementation without reducing the patterns to merely syntactic constructs; an extension to the /spl sigmav/-calculus, termed /spl rho/-calculus, a formal notation for expressing relationships between the elements of object oriented languages, and its use in expressing the EDPs directly. We discuss their use in composition and decomposition of existing patterns, identification of pattern use in existing code to aid comprehension, and future research directions, such as support for refactoring of designs, interaction with traditional code analysis systems, and the education of students of software architecture.
元素设计模式:面向对象软件体系结构组合的形式化语义
设计模式是软件工程领域的一个重要概念,它提供了一种独立于语言和应用程序的方法来表达和传达经验丰富的设计人员所学到的经验教训。然而,在预期的模式的美学和优雅与最终使用数学上可表达的系统(如代码)的现实之间存在很大的差距。我们描述了在模式语言中对代码进行有意义的形式化分析的步骤,并讨论了潜在的用途。主要贡献包括:基本设计模式(edp)的概要,这是对象之间看似简单的关系层,仔细观察,它提供了形式化分析世界与模式设计和实现领域之间的关键联系,而不会将模式简化为仅仅是语法结构;对/spl sigmav/-演算的扩展,称为/spl rho/-演算,一种表示面向对象语言元素之间关系的形式化符号,以及它在直接表示edp中的使用。我们讨论了它们在现有模式的组合和分解中的使用,在现有代码中识别模式的使用以帮助理解,以及未来的研究方向,例如对设计重构的支持,与传统代码分析系统的交互,以及对软件架构学生的教育。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术文献互助群
群 号:481959085
Book学术官方微信