首页 > 最新文献

OOPSLA/ECOOP '90最新文献

英文 中文
Object-oriented programming versus object-oriented design (keynote address): what's the connection? 面向对象编程与面向对象设计(主题演讲):它们之间的联系是什么?
Pub Date : 1990-10-01 DOI: 10.1145/319016.319025
T. Winograd
Note to the reader: Following the conference, I had a discussion with Terry, where we agreed that every listener hears a presentation differently-and what is communicated may not be what was intended. In that spirit, what follows is my interpretation of Terry’s words, based on notes which I took. This article should not be confused with what might have resulted from transcribing an audio tape of his address. I will admit my bias here: I consider myself a designer more than a programmer!
给读者的提示:会议结束后,我和特里进行了一次讨论,我们一致认为每个听众听到的演讲都是不同的——传达的内容可能不是他想要的。本着这种精神,以下是我根据自己的笔记对特里的话的解读。这篇文章不应与抄录他讲话的录音带可能产生的结果相混淆。我承认我的偏见:我认为自己是一个设计师而不是一个程序员!
{"title":"Object-oriented programming versus object-oriented design (keynote address): what's the connection?","authors":"T. Winograd","doi":"10.1145/319016.319025","DOIUrl":"https://doi.org/10.1145/319016.319025","url":null,"abstract":"Note to the reader: Following the conference, I had a discussion with Terry, where we agreed that every listener hears a presentation differently-and what is communicated may not be what was intended. In that spirit, what follows is my interpretation of Terry’s words, based on notes which I took. This article should not be confused with what might have resulted from transcribing an audio tape of his address. I will admit my bias here: I consider myself a designer more than a programmer!","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131415683","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
Object-orientation in operating systems (workshop session) 操作系统中的面向对象(研讨会)
Pub Date : 1990-10-01 DOI: 10.1145/319016.319052
V. Russo, M. Shapiro
Due to the unexpectedly large number of participants, it became necessary to organize this workshop a bit more than what the participants (and organizers) might have preferred. Since there were approximately 50 attendees, the chosen format was 4 sessions representing general themes, with 4 attendees presenting their position for each session. The first presentation of a session was longer than the rest and was intended to set the tone for the rest of the session. Each session is summarized below by a brief synopsis of the presentations from the session chairman. Each session ended with a question/answer period. The minutes of these periods are included with each session. The final session of the workshop was a panel discussion attempting to answer the question: “what is an object-oriented operating system?”
由于参与者出乎意料地多,因此有必要组织这个研讨会,比参与者(和组织者)可能更喜欢的。由于大约有50名与会者,因此选择的形式是4次会议,代表一般主题,每一次会议有4名与会者阐述他们的立场。会议的第一次演讲比其他的要长,目的是为会议的其余部分定下基调。每一届会议由会议主席的发言摘要总结如下。每节课都以问答时间结束。这些时段的分钟数包括在每次会议中。研讨会的最后一个环节是一个小组讨论,试图回答这个问题:“什么是面向对象的操作系统?”
{"title":"Object-orientation in operating systems (workshop session)","authors":"V. Russo, M. Shapiro","doi":"10.1145/319016.319052","DOIUrl":"https://doi.org/10.1145/319016.319052","url":null,"abstract":"Due to the unexpectedly large number of participants, it became necessary to organize this workshop a bit more than what the participants (and organizers) might have preferred. Since there were approximately 50 attendees, the chosen format was 4 sessions representing general themes, with 4 attendees presenting their position for each session. The first presentation of a session was longer than the rest and was intended to set the tone for the rest of the session. Each session is summarized below by a brief synopsis of the presentations from the session chairman. Each session ended with a question/answer period. The minutes of these periods are included with each session. The final session of the workshop was a panel discussion attempting to answer the question: “what is an object-oriented operating system?”","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115709651","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
Graphics for object oriented software engineering (workshop session) 面向对象软件工程的图形(研讨会)
Pub Date : 1990-10-01 DOI: 10.1145/319016.319045
Edward V. Barard
Note: I attended this workshop and also acted as scribe Due to his busy schedule, Ed was unable to cast these notes into his own form. Thus, the comments below represent my interpretation of the discussion. In an ironic twist, this report, on a discussion about using graphics, contains no graphics. I am afraid this represents my own tendency to capture words over pictures, rather than any lack of examples during the day. I found the conversation we held that day to be a valuable one, and hope that I have not incorporated too many inaccuracies into this report. . . . K.C.B.Y.
注:我参加了这个研讨会,并担任抄写员。由于Ed的工作繁忙,他无法将这些笔记转换成他自己的形式。因此,下面的评论代表了我对讨论的解释。具有讽刺意味的是,这篇关于使用图形的讨论的报告没有包含任何图形。恐怕这代表了我自己对文字的偏好,而不是对图片的缺乏。我觉得我们那天的谈话很有价值,希望我没有把太多不准确的地方写进这个报告. . . .K.C.B.Y.
{"title":"Graphics for object oriented software engineering (workshop session)","authors":"Edward V. Barard","doi":"10.1145/319016.319045","DOIUrl":"https://doi.org/10.1145/319016.319045","url":null,"abstract":"Note: I attended this workshop and also acted as scribe Due to his busy schedule, Ed was unable to cast these notes into his own form. Thus, the comments below represent my interpretation of the discussion. In an ironic twist, this report, on a discussion about using graphics, contains no graphics. I am afraid this represents my own tendency to capture words over pictures, rather than any lack of examples during the day. I found the conversation we held that day to be a valuable one, and hope that I have not incorporated too many inaccuracies into this report. . . . K.C.B.Y.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116283572","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
Designing reusable designs (panel session): experiences designing object-oriented frameworks 设计可重用设计(小组讨论):设计面向对象框架的经验
Pub Date : 1990-10-01 DOI: 10.1145/319016.319035
Allen Wirfs-Brock, J. Vlissides, Ward Cunningham, Ralph E. Johnson, Lonnie Bollette
An object-oriented framework is a skeleton implementation of an application or application subsystem in a particular problem domain. It is composed of concrete and abstract classes and provides a model of interaction or collaboration among the instances of classes defined by the framework. A framework is used by configuring or connecting concrete classes and deriving new concrete classes from abstract ones provided in the framework. A framework is a reusable design because all users of a framework share its basic class structure and collaboration model.
面向对象框架是特定问题域中应用程序或应用程序子系统的骨架实现。它由具体类和抽象类组成,并提供框架定义的类实例之间的交互或协作模型。框架通过配置或连接具体类以及从框架中提供的抽象类派生新的具体类来使用。框架是一种可重用设计,因为框架的所有用户共享其基本类结构和协作模型。
{"title":"Designing reusable designs (panel session): experiences designing object-oriented frameworks","authors":"Allen Wirfs-Brock, J. Vlissides, Ward Cunningham, Ralph E. Johnson, Lonnie Bollette","doi":"10.1145/319016.319035","DOIUrl":"https://doi.org/10.1145/319016.319035","url":null,"abstract":"An object-oriented framework is a skeleton implementation of an application or application subsystem in a particular problem domain. It is composed of concrete and abstract classes and provides a model of interaction or collaboration among the instances of classes defined by the framework. A framework is used by configuring or connecting concrete classes and deriving new concrete classes from abstract ones provided in the framework. A framework is a reusable design because all users of a framework share its basic class structure and collaboration model.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125439683","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}
引用次数: 6
Painting multiple views of complex objects 绘制复杂对象的多个视图
Pub Date : 1990-09-01 DOI: 10.1145/97945.97975
J. McDonald, W. Stuetzle, A. Buja
This paper reviews and illustrates a direct manipulation approach to visualization of complex objects called painting multiple views. We describe a programming model for direct manipulation in general and for painting in particular, based on simple constraints between entities in an the underlying scientific database and the components of displays used to examine the data. With this model, the original notion of “brushing scatterplots” is easily extended.
本文回顾并说明了一种直接操作的方法来可视化复杂的对象称为绘制多视图。我们描述了一个基于底层科学数据库中的实体和用于检查数据的显示组件之间的简单约束的编程模型,用于一般的直接操作,特别是绘画。有了这个模型,“刷散点图”的原始概念很容易扩展。
{"title":"Painting multiple views of complex objects","authors":"J. McDonald, W. Stuetzle, A. Buja","doi":"10.1145/97945.97975","DOIUrl":"https://doi.org/10.1145/97945.97975","url":null,"abstract":"This paper reviews and illustrates a direct manipulation approach to visualization of complex objects called painting multiple views. We describe a programming model for direct manipulation in general and for painting in particular, based on simple constraints between entities in an the underlying scientific database and the components of displays used to examine the data. With this model, the original notion of “brushing scatterplots” is easily extended.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"44 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114121425","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}
引用次数: 60
A logical theory of concurrent objects 并发对象的逻辑理论
Pub Date : 1990-09-01 DOI: 10.1145/97945.97958
J. Meseguer
A new theory of concurrent objects is presented. The theory has the important advantage of being based directly on a logic called rewriting logic in which concurrent object-oriented computation exactly corresponds to logical deduction. This deduction is performed by concurrent rewriting modulo structural axioms of associativity, commutativity and identity that capture abstractly the essential aspects of communication in a distributed object-oriented configuration made up of concurrent objects and messages. Thanks to this axiomatization, it becomes possible to study the behavior of concurrent objects by formal methods in a logic intrinsic to their computation. The relationship with Actors and with other models of concurrent computation is also discussed. A direct fruit of this theory is a new language, called Maude, to program concurrent object-oriented modules in an entirely declarative way using rewriting logic; modules written in this language are used to illustrate the main ideas with examples. Maude contains OBJ3 as a functional sublanguage and provides a simple and semantically rigorous integration of functional programming and concurrent object-oriented programming.
提出了一种新的并行对象理论。该理论的一个重要优点是直接基于一种称为重写逻辑的逻辑,在这种逻辑中,并发的面向对象计算与逻辑演绎完全对应。这种演绎是通过并发重写结合性、交换性和同一性的模结构公理来实现的,这些公理抽象地捕获了由并发对象和消息组成的分布式面向对象配置中通信的基本方面。由于这种公理化,可以通过计算内在逻辑中的形式化方法来研究并发对象的行为。本文还讨论了与actor和其他并发计算模型的关系。该理论的直接成果是一种名为Maude的新语言,它使用重写逻辑以完全声明的方式编程并发的面向对象模块;用这种语言编写的模块用于举例说明主要思想。Maude将OBJ3作为函数式子语言包含,并提供了函数式编程和并发面向对象编程的简单且语义严格的集成。
{"title":"A logical theory of concurrent objects","authors":"J. Meseguer","doi":"10.1145/97945.97958","DOIUrl":"https://doi.org/10.1145/97945.97958","url":null,"abstract":"A new theory of concurrent objects is presented. The theory has the important advantage of being based directly on a logic called rewriting logic in which concurrent object-oriented computation exactly corresponds to logical deduction. This deduction is performed by concurrent rewriting modulo structural axioms of associativity, commutativity and identity that capture abstractly the essential aspects of communication in a distributed object-oriented configuration made up of concurrent objects and messages. Thanks to this axiomatization, it becomes possible to study the behavior of concurrent objects by formal methods in a logic intrinsic to their computation. The relationship with Actors and with other models of concurrent computation is also discussed. A direct fruit of this theory is a new language, called Maude, to program concurrent object-oriented modules in an entirely declarative way using rewriting logic; modules written in this language are used to illustrate the main ideas with examples. Maude contains OBJ3 as a functional sublanguage and provides a simple and semantically rigorous integration of functional programming and concurrent object-oriented programming.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115831749","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}
引用次数: 141
MoDE: a UIMS for Smalltalk MoDE: Smalltalk的UIMS
Pub Date : 1990-09-01 DOI: 10.1145/97945.97976
Y. Shan
While the Model-View-Controller (MVC) framework has contributed to many aspects of user interface development in Smalltalk, interfaces produced with MVC often have highly coupled model, view, and controller classes. This coupling and the effort required to use MVC make user interface creation a less effective aspect of Smalltalk.The Mode Development Environment (MoDE) is a user interface management system (UIMS) which addresses the above issues. MoDE is composed of two major components: the Mode framework and the Mode Composer. The Mode framework accommodates an orthogonal design which decouples the user interface components and increases their reusability. The Mode Composer reduces the effort of using MoDE by providing a direct-manipulation user interface to its users. This paper discusses the importance of orthogonality and illustrates its incorporation into the design of MoDE. A comparison of the Mode framework and the MVC framework is included.
虽然模型-视图-控制器(MVC)框架在Smalltalk中为用户界面开发的许多方面做出了贡献,但使用MVC生成的界面通常具有高度耦合的模型、视图和控制器类。这种耦合和使用MVC所需的工作量使得创建用户界面成为Smalltalk的一个不太有效的方面。模式开发环境(Mode)是解决上述问题的用户界面管理系统(UIMS)。MoDE由两个主要组件组成:MoDE框架和MoDE Composer。Mode框架采用了一种正交设计,这种设计可以解耦用户界面组件并提高它们的可重用性。Mode Composer通过向用户提供直接操作的用户界面,减少了使用Mode的工作量。本文讨论了正交性的重要性,并举例说明了正交性在模态设计中的应用。对Mode框架和MVC框架进行了比较。
{"title":"MoDE: a UIMS for Smalltalk","authors":"Y. Shan","doi":"10.1145/97945.97976","DOIUrl":"https://doi.org/10.1145/97945.97976","url":null,"abstract":"While the Model-View-Controller (MVC) framework has contributed to many aspects of user interface development in Smalltalk, interfaces produced with MVC often have highly coupled model, view, and controller classes. This coupling and the effort required to use MVC make user interface creation a less effective aspect of Smalltalk.\u0000The Mode Development Environment (MoDE) is a user interface management system (UIMS) which addresses the above issues. MoDE is composed of two major components: the Mode framework and the Mode Composer. The Mode framework accommodates an orthogonal design which decouples the user interface components and increases their reusability. The Mode Composer reduces the effort of using MoDE by providing a direct-manipulation user interface to its users. This paper discusses the importance of orthogonality and illustrates its incorporation into the design of MoDE. A comparison of the Mode framework and the MVC framework is included.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128867409","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}
引用次数: 16
The performance of an object-oriented threads package 一个面向对象的线程包的性能
Pub Date : 1990-09-01 DOI: 10.1145/97945.97979
Jon Faust, H. Levy
Presto is an object-oriented threads package for writing parallel programs on a shared-memory multiprocessor. The system adds thread objects and synchronization objects to C++ to allow programmers to create and control parallelism. Presto's object-oriented structure, along with its user-level thread implementation, simplifies customization of thread management primitives to meet application-specific needs.The performance of thread primitives is crucial for parallel programs with fine-grained structure; therefore, the principal objective of this effort was to substantially improve Presto's performance under heavy loads without sacrificing the benefits of its object-oriented interface. We discuss design and implementation issues for shared-memory multiprocessors, and the performance impact of various designs is shown through measurements on a 20-processor Sequent Symmetry multiprocessor.
Presto是一个面向对象的线程包,用于在共享内存多处理器上编写并行程序。该系统将线程对象和同步对象添加到c++中,以允许程序员创建和控制并行性。Presto的面向对象结构及其用户级线程实现简化了线程管理原语的定制,以满足特定于应用程序的需求。线程原语的性能对具有细粒度结构的并行程序至关重要;因此,这项工作的主要目标是在不牺牲其面向对象接口的好处的情况下大幅提高Presto在高负载下的性能。我们讨论了共享内存多处理器的设计和实现问题,并通过对20个处理器的顺序对称多处理器的测量显示了各种设计对性能的影响。
{"title":"The performance of an object-oriented threads package","authors":"Jon Faust, H. Levy","doi":"10.1145/97945.97979","DOIUrl":"https://doi.org/10.1145/97945.97979","url":null,"abstract":"Presto is an object-oriented threads package for writing parallel programs on a shared-memory multiprocessor. The system adds thread objects and synchronization objects to C++ to allow programmers to create and control parallelism. Presto's object-oriented structure, along with its user-level thread implementation, simplifies customization of thread management primitives to meet application-specific needs.\u0000The performance of thread primitives is crucial for parallel programs with fine-grained structure; therefore, the principal objective of this effort was to substantially improve Presto's performance under heavy loads without sacrificing the benefits of its object-oriented interface. We discuss design and implementation issues for shared-memory multiprocessors, and the performance impact of various designs is shown through measurements on a 20-processor Sequent Symmetry multiprocessor.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134350025","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}
引用次数: 33
PCLOS: stress testing CLOS experiencing the metaobject protocol PCLOS:压力测试CLOS体验元对象协议
Pub Date : 1990-09-01 DOI: 10.1145/97945.97969
A. Paepcke
This paper demonstrates that the CLOS metaobject protocol approach to defining and implementing an object model is very powerful. CLOS is an object-oriented language that is based on Common Lisp and is in the process of being standardized. Implementations of CLOS are themselves object-oriented with all major building blocks of the language being instances of system classes. A metaobject protocol provides a framework for CLOS implementations by specifying the hierarchy of these classes and the order and contents of the communication among their instances. This design has made CLOS both flexible and portable, two design goals that traditionally conflict. In support of this suggestion we present a detailed account of how we added object persistence to CLOS without modifying any of the language's implementation code.
本文证明了CLOS元对象协议定义和实现对象模型的方法是非常强大的。CLOS是一种基于Common Lisp的面向对象语言,正在标准化过程中。CLOS的实现本身是面向对象的,语言的所有主要构建块都是系统类的实例。元对象协议通过指定这些类的层次结构以及它们的实例之间通信的顺序和内容,为CLOS实现提供了一个框架。这种设计使CLOS既灵活又可移植,这两个设计目标在传统上是相互冲突的。为了支持这个建议,我们详细说明了如何在不修改任何语言实现代码的情况下将对象持久化添加到CLOS中。
{"title":"PCLOS: stress testing CLOS experiencing the metaobject protocol","authors":"A. Paepcke","doi":"10.1145/97945.97969","DOIUrl":"https://doi.org/10.1145/97945.97969","url":null,"abstract":"This paper demonstrates that the CLOS metaobject protocol approach to defining and implementing an object model is very powerful. CLOS is an object-oriented language that is based on Common Lisp and is in the process of being standardized. Implementations of CLOS are themselves object-oriented with all major building blocks of the language being instances of system classes. A metaobject protocol provides a framework for CLOS implementations by specifying the hierarchy of these classes and the order and contents of the communication among their instances. This design has made CLOS both flexible and portable, two design goals that traditionally conflict. In support of this suggestion we present a detailed account of how we added object persistence to CLOS without modifying any of the language's implementation code.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"31 5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129963148","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}
引用次数: 32
What tracers are made of 示踪剂是什么做的
Pub Date : 1990-09-01 DOI: 10.1145/97945.286427
Hans-Dieter Böcker, J. Herczeg
In object-oriented languages like SMALLTALK-80, browsers and irtpeciors are used to provide insight into the static worlc! of objects and their relations, debuggers are used to inspect and modify states of computation. This article presents a detailed description of TRICK, a basic toolkit to build iracers. Tracers can be used to uncover the dynamic properties of SMALLTALK-$0 programs. As an example of how the power of this kit may be used by an experienced programmer, we describe the TUCK system, a visual trace construction kit, by means of which trace specifications may be set up through direct manipulation of graphical objects. 1 Tracers' TRICK In object-oriented languages like SMALLTALK-80, browsers and inpectors are used to provide insight into the static world of objects and their relations, debuggers are used to ins;?ect and modify states of computation (cf. [4]). We suggest to build tracers that can be used to uncover the dynamic properties of programs. Like browsers and inspectors, tracers live in windows, an arbitrary number of which can coexist concurrently and may cooperate with each other as well as with their cousins: the brcwsers, inspectors, and debuggers. Also, they are manipulated in similar ways, may be accessed from the other tools, and in turn provide access to these tools. Permission to copv without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. This paper describes TRICK (tracers' internal construction kit), the low level program interface for the SMALLTALK-programmer who wants to build textual or graphical tracers. We will show how it has been successfully used to build TRACK (trace construction kit), which is described in more detail in [2]. Browsers and inspectors obviously can be used to look at the code that implements them. Figure 1 depicts an analogous situation in which the TRACK tracer is applied to some of the components it is built of; the trace shows how a message to be traced is passed through the various subfilters of a truce filter which is one of the buildings blocks available within TRICK. 2 Tracing Object-Oriented Programs Standard tracing tools in object-oriented languages (like …
在SMALLTALK-80这样的面向对象语言中,浏览器和浏览器被用来提供对静态世界的洞察!对于对象及其关系,调试器用于检查和修改计算状态。本文介绍了TRICK的详细描述,这是一个构建入侵的基本工具包。跟踪程序可以用来揭示SMALLTALK-$0程序的动态属性。作为一个有经验的程序员如何使用这个工具的例子,我们描述了TUCK系统,一个可视化的跟踪构建工具,通过它可以通过直接操作图形对象来设置跟踪规范。在SMALLTALK-80这样的面向对象语言中,浏览器和检查器被用来提供对对象及其关系的静态世界的洞察,调试器被用来进行调试。Ect和修改计算状态(参见[4])。我们建议构建可用于揭示程序动态属性的跟踪器。像浏览器和检查器一样,跟踪程序驻留在窗口中,任意数量的窗口可以并发地共存,并且可以相互合作,也可以与它们的兄弟程序:浏览器、检查器和调试器合作。此外,它们以类似的方式进行操作,可以从其他工具访问,并反过来提供对这些工具的访问。允许免费复制本材料的全部或部分内容,前提是这些副本不是为了直接的商业利益而制作或分发的,必须出现ACM版权声明、出版物的标题和日期,并注明复制是由计算机协会许可的。以其他方式复制或重新发布需要付费和/或特定许可。本文描述了TRICK(跟踪程序的内部构建工具包),这是smalltalk程序员想要构建文本或图形跟踪程序的低级程序接口。我们将展示如何成功地使用它来构建TRACK(跟踪构建工具包),在[2]中有更详细的描述。浏览器和检查器显然可以用来查看实现它们的代码。图1描述了一个类似的情况,其中TRACK跟踪器被应用于构建它的一些组件;跟踪显示了要跟踪的消息是如何通过休战过滤器的各个子过滤器传递的,休战过滤器是TRICK中可用的构建块之一。面向对象语言中的标准跟踪工具(如…
{"title":"What tracers are made of","authors":"Hans-Dieter Böcker, J. Herczeg","doi":"10.1145/97945.286427","DOIUrl":"https://doi.org/10.1145/97945.286427","url":null,"abstract":"In object-oriented languages like SMALLTALK-80, browsers and irtpeciors are used to provide insight into the static worlc! of objects and their relations, debuggers are used to inspect and modify states of computation. This article presents a detailed description of TRICK, a basic toolkit to build iracers. Tracers can be used to uncover the dynamic properties of SMALLTALK-$0 programs. As an example of how the power of this kit may be used by an experienced programmer, we describe the TUCK system, a visual trace construction kit, by means of which trace specifications may be set up through direct manipulation of graphical objects. 1 Tracers' TRICK In object-oriented languages like SMALLTALK-80, browsers and inpectors are used to provide insight into the static world of objects and their relations, debuggers are used to ins;?ect and modify states of computation (cf. [4]). We suggest to build tracers that can be used to uncover the dynamic properties of programs. Like browsers and inspectors, tracers live in windows, an arbitrary number of which can coexist concurrently and may cooperate with each other as well as with their cousins: the brcwsers, inspectors, and debuggers. Also, they are manipulated in similar ways, may be accessed from the other tools, and in turn provide access to these tools. Permission to copv without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. This paper describes TRICK (tracers' internal construction kit), the low level program interface for the SMALLTALK-programmer who wants to build textual or graphical tracers. We will show how it has been successfully used to build TRACK (trace construction kit), which is described in more detail in [2]. Browsers and inspectors obviously can be used to look at the code that implements them. Figure 1 depicts an analogous situation in which the TRACK tracer is applied to some of the components it is built of; the trace shows how a message to be traced is passed through the various subfilters of a truce filter which is one of the buildings blocks available within TRICK. 2 Tracing Object-Oriented Programs Standard tracing tools in object-oriented languages (like …","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121674472","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}
引用次数: 30
期刊
OOPSLA/ECOOP '90
全部 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