Metamodeling in OO: OOPSLA'95 workshop summary

H. Mili, F. Pachet, I. Benyahia, F. Eddy
{"title":"Metamodeling in OO: OOPSLA'95 workshop summary","authors":"H. Mili, F. Pachet, I. Benyahia, F. Eddy","doi":"10.1145/260094.260257","DOIUrl":null,"url":null,"abstract":"The purpose of this workshop was to explore metamodeling concepts in the context of object-oriented software development, from a methodolog-ical perspective, namely: 1) Exploring the additional modeling constructs that are needed to model information at several levels of abstraction, 2) Exploring changes to modeling procedures/heuristics that are needed to build object meta-models and integrating them with object models, 3) Exploring the effects of such changes on design and implementation (e.g. reflective languages, metaprogramming, etc). As is usual (and healthy) in such events, the papers we received did not fit in exactly with the advertised agenda, with its heavy emphasis on methodological (analysis and design) aspects, and the proposed agenda was as much the result of what the organizers wanted discussed as it was a result of what \"par-ticipants\" were willing to discuss! That result is shown next. We first attempt to define metamodel-ing in the context of object-oriented software engineering, identifying major issues. Next, we discuss each one of those issues in some detail. Object-oriented structural modeling uses classes to represent the structure of similar application objects, and associations to represent patterns of connections between application objects. Applications where the representation of objects needs to be queried or otherwise manipulated need to explicitly represent the representation of objects [Diaz,1994]; we call the representation of the representation of application objects metamodeling. The need for metamodels is more frequent than one might first think. In relational database modeling, meta-data consists of table descriptors, which are system tables (system dictionary) describing the data tables (their columns, domains for the columns, etc) and integrity constraints, which, by and large, are semi-declarative constructs to be executed during database updates. [1] A typical computer-assisted manufacturing application needs two levels of abstraction: 1) one level to represent bills of material, e.g., describing the compositions of different manufactured products, 2) a second level to describe actual manufactured products in stock. Bills of material are representations of manufactured products. However, to the extent that they can be created, consulted, and modified, they too need to be represented by a construct that describes their structure; these are called metaclasses. When not a part of the problem (e.g. a bill of materials and inventory application), metamodeling is part of the solution: metamodeling is an abstraction mechanism in the sense that, much like classification, it enables us to differentiate identity-dependent behavior from state-dependent behavior, hence making some sense of the variations in …","PeriodicalId":286350,"journal":{"name":"Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications","volume":"89 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/260094.260257","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

The purpose of this workshop was to explore metamodeling concepts in the context of object-oriented software development, from a methodolog-ical perspective, namely: 1) Exploring the additional modeling constructs that are needed to model information at several levels of abstraction, 2) Exploring changes to modeling procedures/heuristics that are needed to build object meta-models and integrating them with object models, 3) Exploring the effects of such changes on design and implementation (e.g. reflective languages, metaprogramming, etc). As is usual (and healthy) in such events, the papers we received did not fit in exactly with the advertised agenda, with its heavy emphasis on methodological (analysis and design) aspects, and the proposed agenda was as much the result of what the organizers wanted discussed as it was a result of what "par-ticipants" were willing to discuss! That result is shown next. We first attempt to define metamodel-ing in the context of object-oriented software engineering, identifying major issues. Next, we discuss each one of those issues in some detail. Object-oriented structural modeling uses classes to represent the structure of similar application objects, and associations to represent patterns of connections between application objects. Applications where the representation of objects needs to be queried or otherwise manipulated need to explicitly represent the representation of objects [Diaz,1994]; we call the representation of the representation of application objects metamodeling. The need for metamodels is more frequent than one might first think. In relational database modeling, meta-data consists of table descriptors, which are system tables (system dictionary) describing the data tables (their columns, domains for the columns, etc) and integrity constraints, which, by and large, are semi-declarative constructs to be executed during database updates. [1] A typical computer-assisted manufacturing application needs two levels of abstraction: 1) one level to represent bills of material, e.g., describing the compositions of different manufactured products, 2) a second level to describe actual manufactured products in stock. Bills of material are representations of manufactured products. However, to the extent that they can be created, consulted, and modified, they too need to be represented by a construct that describes their structure; these are called metaclasses. When not a part of the problem (e.g. a bill of materials and inventory application), metamodeling is part of the solution: metamodeling is an abstraction mechanism in the sense that, much like classification, it enables us to differentiate identity-dependent behavior from state-dependent behavior, hence making some sense of the variations in …
面向对象中的元建模:OOPSLA'95研讨会总结
本次研讨会的目的是从方法学的角度探讨面向对象软件开发环境中的元建模概念,即:1)探索在多个抽象层次上对信息建模所需的额外建模构造;2)探索构建对象元模型并将其与对象模型集成所需的建模过程/启发式的变化;3)探索这些变化对设计和实现(例如反射语言、元编程等)的影响。在这样的活动中,我们收到的论文与宣传的议程并不完全吻合,因为它非常强调方法(分析和设计)方面,提议的议程既是组织者想要讨论的结果,也是“参与者”愿意讨论的结果!下面显示该结果。我们首先尝试在面向对象软件工程的上下文中定义元建模,确定主要问题。接下来,我们详细讨论每一个问题。面向对象的结构建模使用类来表示类似应用程序对象的结构,使用关联来表示应用程序对象之间的连接模式。需要查询或以其他方式操作对象表示的应用程序需要显式地表示对象的表示[Diaz,1994];我们将应用程序对象表示的表示称为元建模。对元模型的需求比人们最初想象的更为频繁。在关系数据库建模中,元数据由表描述符组成,表描述符是描述数据表(它们的列、列的域等)和完整性约束的系统表(系统字典),总的来说,这些表是在数据库更新期间执行的半声明性构造。[1]一个典型的计算机辅助制造应用程序需要两个层次的抽象:1)第一级表示材料清单,例如,描述不同制成品的组成;2)第二级描述库存的实际制成品。物料清单是成品的代表。然而,在一定程度上,它们可以被创建、查阅和修改,它们也需要用描述其结构的构造来表示;这些被称为元类。当不是问题的一部分时(例如,物料清单和库存应用程序),元建模是解决方案的一部分:元建模是一种抽象机制,就像分类一样,它使我们能够区分依赖于身份的行为和依赖于状态的行为,从而在某种程度上理解……
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信