使抽象具体化

B. Selić
{"title":"使抽象具体化","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":"{\"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}","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

摘要

抽象是体系结构规范和建模的本质。因此,当我们为基于模型的工程方法开发适当的理论基础时,对我们来说,更准确地理解从某些系统的具体规范到更抽象的规范所涉及的内容(反之亦然)是至关重要的。众所周知的抽象模式,如分层、封装、分层(分解)组合等都很常见,从软件设计的早期就开始使用了。然而,它们通常使用模棱两可的非结论性语言非正式地指定,这可能导致难以察觉的混淆和误解。例如,层次分解和分层是语义上不同的模式,由于它们的语法相似性,常常相互混淆。在这次演讲中,我们确定了一组通用的和可逆的抽象模式——也就是说,将具体表示与相应的抽象表示联系起来的模式——给出了每个抽象表示中所涉及的映射的精确形式化描述。这不仅有助于澄清抽象过程中实际发生的事情,而且可能更重要的是,它可以作为自动化在不同抽象级别的模型之间移动所涉及的一些机械方面的基础。这反过来又使这些模型之间基于计算机的可追溯性成为可能。此外,这些转换的这种精确规范可以减轻抽象的主要危害之一,即错误地从考虑中删除高度相关的信息。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Making Abstraction Concrete
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信