Making Abstraction Concrete

B. Selić
{"title":"Making Abstraction Concrete","authors":"B. Selić","doi":"10.1109/WICSA.2011.10","DOIUrl":null,"url":null,"abstract":"Abstraction is the very essence of architectural specification and modeling. Consequently, as we develop a proper theoretical underpinning for model-based engineering methods, it is crucial for us to understand more precisely what is involved in moving from a concrete specification of some system to a more abstract one (or vice versa). Well-known abstraction patterns, such as layering, encapsulation, hierarchical (de)composition, and the like are quite common and have been used since the earliest days of software design. However, they are typically specified informally using ambiguous inconclusive language, which can lead to confusion and misunderstandings that are difficult to detect. For example, hierarchical decomposition and layering, which are semantically distinct patterns, are often confused with each other due to their syntactical similarity. In this talk, we identify a starter set of common and reversible abstraction patterns â€\" that is, patterns that relate a concrete representation with a corresponding abstract one â€\" giving precise formal descriptions of the mappings involved in each. This serves not only to clarify what actually happens in the process of abstraction but, perhaps even more importantly, it can serve as a basis for automating some of the mechanical aspects involved in moving between models at different levels of abstraction. This, in turn, enables computer-based traceability between such models. Moreover, such a precise specification of these transformations can mitigate one of the major hazards of abstraction whereby highly relevant information is erroneously dropped from consideration.","PeriodicalId":234615,"journal":{"name":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","volume":"257 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 Ninth Working IEEE/IFIP Conference on Software Architecture","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WICSA.2011.10","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Abstraction is the very essence of architectural specification and modeling. Consequently, as we develop a proper theoretical underpinning for model-based engineering methods, it is crucial for us to understand more precisely what is involved in moving from a concrete specification of some system to a more abstract one (or vice versa). Well-known abstraction patterns, such as layering, encapsulation, hierarchical (de)composition, and the like are quite common and have been used since the earliest days of software design. However, they are typically specified informally using ambiguous inconclusive language, which can lead to confusion and misunderstandings that are difficult to detect. For example, hierarchical decomposition and layering, which are semantically distinct patterns, are often confused with each other due to their syntactical similarity. In this talk, we identify a starter set of common and reversible abstraction patterns â€" that is, patterns that relate a concrete representation with a corresponding abstract one â€" giving precise formal descriptions of the mappings involved in each. This serves not only to clarify what actually happens in the process of abstraction but, perhaps even more importantly, it can serve as a basis for automating some of the mechanical aspects involved in moving between models at different levels of abstraction. This, in turn, enables computer-based traceability between such models. Moreover, such a precise specification of these transformations can mitigate one of the major hazards of abstraction whereby highly relevant information is erroneously dropped from consideration.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
使抽象具体化
抽象是体系结构规范和建模的本质。因此,当我们为基于模型的工程方法开发适当的理论基础时,对我们来说,更准确地理解从某些系统的具体规范到更抽象的规范所涉及的内容(反之亦然)是至关重要的。众所周知的抽象模式,如分层、封装、分层(分解)组合等都很常见,从软件设计的早期就开始使用了。然而,它们通常使用模棱两可的非结论性语言非正式地指定,这可能导致难以察觉的混淆和误解。例如,层次分解和分层是语义上不同的模式,由于它们的语法相似性,常常相互混淆。在这次演讲中,我们确定了一组通用的和可逆的抽象模式——也就是说,将具体表示与相应的抽象表示联系起来的模式——给出了每个抽象表示中所涉及的映射的精确形式化描述。这不仅有助于澄清抽象过程中实际发生的事情,而且可能更重要的是,它可以作为自动化在不同抽象级别的模型之间移动所涉及的一些机械方面的基础。这反过来又使这些模型之间基于计算机的可追溯性成为可能。此外,这些转换的这种精确规范可以减轻抽象的主要危害之一,即错误地从考虑中删除高度相关的信息。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Towards Automation of Performance Architectural Tactics Application First International Workshop on Variability in Software Architecture (VARSA 2011) Automatic Tracing of Decisions to Architecture and Implementation Industrial Architectural Assessment Using TARA The Dutch Nationwide Electronic Health Record: Why the Centralised Services Architecture?
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1