首页 > 最新文献

Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages最新文献

英文 中文
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages 面向对象语言中的关系和关联研讨会论文集
Stephanie Balzer, G. Bierman, Stephen Nelson, F. Tip
Welcome to the RAOOL'09 Workshop on Relationships and Associations in Object-Oriented Languages. The workshop is a direct successor of the RAOOL'08 workshop at OOPSLA'08 in Nashville and further relates more loosely to the Roles workshop at ECOOP'07 in Berlin. In this year's workshop an effort was made to gather the growing number of researchers in the object-oriented programming language community who are working on relationship-based and role-based systems to share their research and discuss the future of relationship-based and role-based constructs in programming languages. Input both from members of the programming language community and from members of related areas (e.g., databases, model-driven development) and domains (e.g., program analysis, orthogonal persistence, type systems) who are using relationships and roles is solicited. Some particular areas of interest are: •relationship-based programming languages •libraries/frameworks for relationship support •first-class queries •database integration and serialization •relationship-based system design •program understanding/visualization •ownership and related techniques •dynamic analysis of relationship usage The proceedings contain 6 papers (4 long papers and 2 position papers) that were selected by the program committee out of 9 submissions. Each paper was reviewed by 4 program committee members, with further input from a small number of external reviewers. The reviewing process was managed using the EasyChair Conference System.
欢迎来到RAOOL'09面向对象语言中的关系和关联研讨会。该研讨会是纳什维尔OOPSLA'08 RAOOL'08研讨会的直接继承者,并进一步与柏林ECOOP'07的角色研讨会有更松散的联系。在今年的研讨会上,我们努力聚集面向对象编程语言社区中越来越多的研究人员,他们正在研究基于关系和基于角色的系统,以分享他们的研究并讨论编程语言中基于关系和基于角色的结构的未来。从使用关系和角色的编程语言社区成员以及相关领域(例如,数据库、模型驱动开发)和领域(例如,程序分析、正交持久化、类型系统)的成员那里征集输入。一些特别感兴趣的领域是:•基于关系的编程语言•用于关系支持的库/框架•一级查询•数据库集成和序列化•基于关系的系统设计•程序理解/可视化•所有权和相关技术•关系使用的动态分析。会议记录包含6篇论文(4篇长论文和2篇立场论文),由项目委员会从9份提交的文件中选出。每篇论文由4名项目委员会成员审查,并有少数外部审稿人提供进一步的意见。审查过程使用EasyChair会议系统进行管理。
{"title":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","authors":"Stephanie Balzer, G. Bierman, Stephen Nelson, F. Tip","doi":"10.1145/1562100","DOIUrl":"https://doi.org/10.1145/1562100","url":null,"abstract":"Welcome to the RAOOL'09 Workshop on Relationships and Associations in Object-Oriented Languages. The workshop is a direct successor of the RAOOL'08 workshop at OOPSLA'08 in Nashville and further relates more loosely to the Roles workshop at ECOOP'07 in Berlin. In this year's workshop an effort was made to gather the growing number of researchers in the object-oriented programming language community who are working on relationship-based and role-based systems to share their research and discuss the future of relationship-based and role-based constructs in programming languages. Input both from members of the programming language community and from members of related areas (e.g., databases, model-driven development) and domains (e.g., program analysis, orthogonal persistence, type systems) who are using relationships and roles is solicited. Some particular areas of interest are: \u0000 \u0000•relationship-based programming languages \u0000 \u0000•libraries/frameworks for relationship support \u0000 \u0000•first-class queries \u0000 \u0000•database integration and serialization \u0000 \u0000•relationship-based system design \u0000 \u0000•program understanding/visualization \u0000 \u0000•ownership and related techniques \u0000 \u0000•dynamic analysis of relationship usage \u0000 \u0000The proceedings contain 6 papers (4 long papers and 2 position papers) that were selected by the program committee out of 9 submissions. Each paper was reviewed by 4 program committee members, with further input from a small number of external reviewers. The reviewing process was managed using the EasyChair Conference System.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124715136","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Implementing UML associations in Java: a slim code pattern for a complex modeling concept 在Java中实现UML关联:用于复杂建模概念的精简代码模式
Dominik Gessenharter
Relationships are difficult to implement for two main reasons: Firstly, they provide a complex semantics for relating entities and secondly, relationships are not first class constructs in modern programming languages. The challenge of implementing relationships in code is to resolve the semantics of abstract model elements and turn them into references or pointers of the target language. Language extensions or libraries are often discussed as a means of facilitating the translation of relations into code. We present an approach that uses plain Java language concepts for the implementation of UML associations. We focus on symmetry of associations as well as on navigability, visibility and ownership of association ends and present a code pattern, that can easily be used for automatic code generation.
关系难以实现主要有两个原因:首先,它们为关联实体提供了复杂的语义;其次,关系在现代编程语言中不是一流的结构。在代码中实现关系的挑战在于解析抽象模型元素的语义,并将它们转换为目标语言的引用或指针。语言扩展或库经常作为一种方便将关系转换为代码的方法来讨论。我们提出了一种使用普通Java语言概念实现UML关联的方法。我们关注关联的对称性,以及关联端点的可导航性、可见性和所有权,并提出了一种代码模式,可以很容易地用于自动代码生成。
{"title":"Implementing UML associations in Java: a slim code pattern for a complex modeling concept","authors":"Dominik Gessenharter","doi":"10.1145/1562100.1562104","DOIUrl":"https://doi.org/10.1145/1562100.1562104","url":null,"abstract":"Relationships are difficult to implement for two main reasons: Firstly, they provide a complex semantics for relating entities and secondly, relationships are not first class constructs in modern programming languages. The challenge of implementing relationships in code is to resolve the semantics of abstract model elements and turn them into references or pointers of the target language. Language extensions or libraries are often discussed as a means of facilitating the translation of relations into code. We present an approach that uses plain Java language concepts for the implementation of UML associations. We focus on symmetry of associations as well as on navigability, visibility and ownership of association ends and present a code pattern, that can easily be used for automatic code generation.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123656063","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Retrieving relationships from declarative files 从声明性文件中检索关系
Ciera Jaspan, Jonathan Aldrich
Software frameworks frequently require developers to interact with them using both OO-based languages and declarative files. The frameworks also require that these declarative files are consistent with the OO code, but it is currently difficult to check this in a generic way. Relationships have shown to be useful for checking constraints within OO code, and as a declarative file is essentially a static list of relationships, they may also be useful for checking constraints within declarative files. However, retrieving relationships from these files has many potential problems. In this paper, we show why it would be useful to retrieve relationships from declarative files, and we explore the hurdles that a solution will have to overcome.
软件框架经常要求开发人员使用基于oo的语言和声明性文件与它们进行交互。框架还要求这些声明性文件与OO代码保持一致,但目前很难以通用的方式检查这一点。关系对于检查OO代码中的约束非常有用,并且由于声明性文件本质上是关系的静态列表,因此它们对于检查声明性文件中的约束也很有用。但是,从这些文件中检索关系有许多潜在的问题。在本文中,我们将说明为什么从声明性文件中检索关系是有用的,并探讨解决方案必须克服的障碍。
{"title":"Retrieving relationships from declarative files","authors":"Ciera Jaspan, Jonathan Aldrich","doi":"10.1145/1562100.1562101","DOIUrl":"https://doi.org/10.1145/1562100.1562101","url":null,"abstract":"Software frameworks frequently require developers to interact with them using both OO-based languages and declarative files. The frameworks also require that these declarative files are consistent with the OO code, but it is currently difficult to check this in a generic way. Relationships have shown to be useful for checking constraints within OO code, and as a declarative file is essentially a static list of relationships, they may also be useful for checking constraints within declarative files. However, retrieving relationships from these files has many potential problems. In this paper, we show why it would be useful to retrieve relationships from declarative files, and we explore the hurdles that a solution will have to overcome.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129879798","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Implementing relationships among classes of analysis pattern languages using aspects 使用方面实现分析模式语言类之间的关系
R. T. Vaccare Braga, R. Marchesini
Patterns within an analysis pattern language are related to each other in several ways: the application of a pattern can result in the application of another, a pattern can be applied only if another pattern was applied (or was not applied), etc. Also, several variants of a pattern may co-exist, and the application of a particular variant can lead to the inclusion or removal of associations between classes that form the pattern. In this paper, we show how we have used aspect-oriented programming to implement relationships between classes of an analysis pattern or between classes shared by more than one pattern. This allows the incremental development of a framework to support the pattern language, and also eases the instantiation of patterns and pattern variants.
分析模式语言中的模式以几种方式相互关联:一种模式的应用可能导致另一种模式的应用,一种模式只有在应用(或未应用)另一种模式时才能应用,等等。另外,模式的几个变体可能共存,对特定变体的应用可能导致包含或删除构成模式的类之间的关联。在本文中,我们展示了如何使用面向方面的编程来实现分析模式的类之间或由多个模式共享的类之间的关系。这允许框架的增量开发以支持模式语言,并且还简化了模式和模式变体的实例化。
{"title":"Implementing relationships among classes of analysis pattern languages using aspects","authors":"R. T. Vaccare Braga, R. Marchesini","doi":"10.1145/1562100.1562103","DOIUrl":"https://doi.org/10.1145/1562100.1562103","url":null,"abstract":"Patterns within an analysis pattern language are related to each other in several ways: the application of a pattern can result in the application of another, a pattern can be applied only if another pattern was applied (or was not applied), etc. Also, several variants of a pattern may co-exist, and the application of a particular variant can lead to the inclusion or removal of associations between classes that form the pattern. In this paper, we show how we have used aspect-oriented programming to implement relationships between classes of an analysis pattern or between classes shared by more than one pattern. This allows the incremental development of a framework to support the pattern language, and also eases the instantiation of patterns and pattern variants.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114710767","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Nested and specialized associations 嵌套和专门化关联
Tormod V. Håvaldsrud, B. Møller-Pedersen
UML supports specialization of associations, but with sparse semantics. It is recognized that specialization is different from subsetting of association end sets, and UML indicates that it has a meaning similar to specialization for classes (or classifiers in general). Recent efforts on the introduction of associations into programming languages have claimed, with convincing examples, that specialization of associations can not be defined similar to specialization for classes. In this paper we demonstrate that these examples really call for the notion of nested associations; in addition it is demonstrated that other examples call for real specialization (as for classes) of associations. The two notions: nested associations and specialization of associations have been implemented in a prototype tool for an experimental modeling language, and together they open for rich modeling of associations similar to what we have for classes.
UML支持关联的专门化,但是使用稀疏的语义。人们认识到专门化不同于关联端集的子集,UML指出它具有类似于类(或一般的分类器)专门化的含义。最近在将关联引入编程语言方面所做的努力声称,通过令人信服的例子,关联的专门化不能像类的专门化那样定义。在本文中,我们证明了这些例子确实需要嵌套关联的概念;此外,还证明了其他示例需要关联的真正专门化(如类)。这两个概念:嵌套关联和关联的专门化已经在实验性建模语言的原型工具中实现,它们一起为丰富的关联建模打开了大门,类似于我们为类所做的建模。
{"title":"Nested and specialized associations","authors":"Tormod V. Håvaldsrud, B. Møller-Pedersen","doi":"10.1145/1562100.1562105","DOIUrl":"https://doi.org/10.1145/1562100.1562105","url":null,"abstract":"UML supports specialization of associations, but with sparse semantics. It is recognized that specialization is different from subsetting of association end sets, and UML indicates that it has a meaning similar to specialization for classes (or classifiers in general). Recent efforts on the introduction of associations into programming languages have claimed, with convincing examples, that specialization of associations can not be defined similar to specialization for classes. In this paper we demonstrate that these examples really call for the notion of nested associations; in addition it is demonstrated that other examples call for real specialization (as for classes) of associations. The two notions: nested associations and specialization of associations have been implemented in a prototype tool for an experimental modeling language, and together they open for rich modeling of associations similar to what we have for classes.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"30 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114038443","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Roles in building web applications using Java 使用Java构建web应用程序的角色
G. Boella, Roberto Grenna, Andrea Cerisara
In this paper we apply the powerJava model of roles and relationships to a web application programming environment. First we show how the notion of role, as defined in powerJava, combines and automates several aspects which are important in web application programming, and which are now unrelated and dealt with separately and mostly by hand, and thus prone to errors. Second we show how from the powerJava code a web application can be automatically constructed using Struts and Spring.
在本文中,我们将角色和关系的powerJava模型应用到web应用程序编程环境中。首先,我们将展示在powerJava中定义的角色概念是如何结合并自动化web应用程序编程中重要的几个方面的,这些方面现在是不相关的,并且主要是手工处理的,因此容易出错。其次,我们将展示如何从powerJava代码中使用Struts和Spring自动构建web应用程序。
{"title":"Roles in building web applications using Java","authors":"G. Boella, Roberto Grenna, Andrea Cerisara","doi":"10.1145/1562100.1562106","DOIUrl":"https://doi.org/10.1145/1562100.1562106","url":null,"abstract":"In this paper we apply the powerJava model of roles and relationships to a web application programming environment. First we show how the notion of role, as defined in powerJava, combines and automates several aspects which are important in web application programming, and which are now unrelated and dealt with separately and mostly by hand, and thus prone to errors. Second we show how from the powerJava code a web application can be automatically constructed using Struts and Spring.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123062716","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Implementing relationships using Affinity 使用亲和性实现关系
Stephen Nelson, David J. Pearce, J. Noble
OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object; two objects which are structurally identical are not considered equal. Thus, programmers who require a more refined notion of equality must define their own operator. Programmer-implemented equality operators tend to rely on informal notions of partial and temporal object immutability which are prone to error. This is a particular problem for objects used in collections which depend on equality. This paper discusses Affinity: an untyped, object-oriented language with a powerful equality operator based on EGAL [2] and support for object-keying and immutability. Affinity is designed to provide coherent and elegant support for object equality, reducing programmer burden and error potential.
OO语言通常提供一种形式的对象相等,称为引用相等,其中两个对象只有在它们是相同对象时才相等;结构相同的两个对象不被认为是相等的。因此,需要更精确的相等概念的程序员必须定义自己的操作符。程序员实现的相等操作符往往依赖于局部和暂时对象不变性的非正式概念,这很容易出错。对于依赖于相等的集合中使用的对象来说,这是一个特殊的问题。本文讨论了Affinity:一种无类型的、面向对象的语言,它具有基于EGAL[2]的强大的相等运算符,并支持对象键控和不变性。亲和性旨在为对象相等性提供一致和优雅的支持,从而减少程序员的负担和潜在的错误。
{"title":"Implementing relationships using Affinity","authors":"Stephen Nelson, David J. Pearce, J. Noble","doi":"10.1145/1562100.1562102","DOIUrl":"https://doi.org/10.1145/1562100.1562102","url":null,"abstract":"OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object; two objects which are structurally identical are not considered equal. Thus, programmers who require a more refined notion of equality must define their own operator. Programmer-implemented equality operators tend to rely on informal notions of partial and temporal object immutability which are prone to error. This is a particular problem for objects used in collections which depend on equality. This paper discusses Affinity: an untyped, object-oriented language with a powerful equality operator based on EGAL [2] and support for object-keying and immutability. Affinity is designed to provide coherent and elegant support for object equality, reducing programmer burden and error potential.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114627782","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
期刊
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1