Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

John M. Vlissides

dblp:24/2260 · DBLP profile ↗
← Back
11ranked-venue papers
3as first author
0since 2021 · last 2003
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7Human-computer interaction and ubiquitous computing · 2 · 2 first-authorSystems, architecture and hardware · 1Databases, data management, data science and information retrieval · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Programming languages and type systems · 45% Requirements engineering and software design · 42% Software maintenance and evolution · 7%
Human-computer interaction and pervasive computing
3 papers
User interface design and tools · 100%

Topics — the 9 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
language design
0.022003
Pluggable Reflection: Decoupling Meta-Interface and Implementation · ICSE 2003
A Debate on Language and Tool Support for Design Patterns · POPL 2000
Requirements engineering and software design › software architecture › component-based software engineering
component-based design
0.022003
Designing Components Versus Objects: A Transformational Approach · ICSE 2001
Pluggable Reflection: Decoupling Meta-Interface and Implementation · ICSE 2003
Programming languages and type systems › metaprogramming
reflection
0.012003
Pluggable Reflection: Decoupling Meta-Interface and Implementation · ICSE 2003
Requirements engineering and software design
design patterns
0.012000
A Debate on Language and Tool Support for Design Patterns · POPL 2000
Software maintenance and evolution › program comprehension
software visualization
0.011993
Visualizing the Behavior of Object-Oriented Systems · OOPSLA 1993
Requirements engineering and software design
software architecture
0.012001
Designing Components Versus Objects: A Transformational Approach · ICSE 2001
Compilers and program optimization
code generation
0.012000
A Debate on Language and Tool Support for Design Patterns · POPL 2000
Requirements engineering and software design › software architecture › reusable architecture
object-oriented frameworks
0.011989
Unidraw: a framework for building domain-specific · UIST 1989
Software maintenance and evolution
program comprehension
0.011993
Visualizing the Behavior of Object-Oriented Systems · OOPSLA 1993

Methods — techniques the papers use, named apart from their topics

conceptual modeling · 0.0comparative analysis · 0.0
YearPublicationVenuePosition
2003 Pluggable Reflection: Decoupling Meta-Interface and Implementation
abstract
Reflection remains a second-class citizen in current programming models, where it's assumed to be imperative and tightly bound to its implementation. In contrast, most object-oriented APIs allow interfaces to vary independently of their implementations. Components take this separation a step further by describing unforeseeable attributes-the key to pluggable third-party components. This paper describes how reflection can benefit from a similar evolutionary path.
David H. Lorenz, John M. Vlissides
ICSE2
2001 Designing Components Versus Objects: A Transformational Approach
abstract
A good object oriented design does not necessarily make a good component based design, and vice versa. What design principles do components introduce? The paper examines component based programming and how it expands the design space in the context of an event based component architecture. We present a conceptual model for addressing new design issues these components afford, and we identify fundamental design decisions in this model that are not a concern in conventional object oriented design. We use JavaBeans based examples to illustrate concretely how expertise in component based design, as embodied in a component taxonomy and implementation space, impacts both design and the process of design. The results are not exclusive to JavaBeans; they can apply to any comparable component architecture.
David H. Lorenz, John M. Vlissides
ICSE2
2001 A Perturbation-Free Replay Platform for Cross-Optimized Multithreaded Applications
abstract
Development of multithreaded applications is particularly tricky because of their non-deterministic execution behaviors. Tools that support the debugging and performance timing of such applications are needed. Key to the construction of such tools is the ability to repeat the nondeterministic execution behavior of a multithreaded application. A clean separation between the application and the system that runs it facilitates supporting that ability. This paper presents a platform for constructing such tools in a context in which any separation between the application and the underlying system (and between both and the platform's own instrumentation code) has been obscured. DejaVu supports deterministic replay of nondeterministic executions of multithreaded Java programs on the Jalapeno virtual machine (running on a uniprocessor). Jalapeno is written in Java and its optimizing compiler regularly integrates application, virtual machine, and DejaVu instrumentation code into unified machine-code sequences. DejaVu ensures deterministic replay through symmetric instrumentation-side-effect identical instrumentation in both record and replay modes-and remote reflection which exposes the state of an application without perturbing it.
Bowen Alpern, Jong-Deok Choi, Ton Anh Ngo, Manu Sridharan, John M. Vlissides
IPDPS5
2000 A Debate on Language and Tool Support for Design Patterns
abstract
Design patterns have earned a place in the developer's arsenal of tools and techniques for software development. They have proved so useful, in fact, that some have called for their promotion to programming language features. In turn this has rekindled the age-old debate over the mechanism that belong in programming languages versus those that are better served by tools. The debate comes full circle when one contemplates code generation and methodological tool support for patterns. The authors compare and contrast programming languages, tools, and patterns to assess their relative merits and to clarify their roles in the development process.
Craig Chambers, Bill Harrison, John M. Vlissides
POPL3
1996 Industrial Experience with Design Patterns
Kent L. Beck, James Coplien, Ron Crocker, Lutz Dominick, Gerard Meszaros, Frances Paulisch, John M. Vlissides
ICSE7
1994 Modeling Object-Oriented Program Execution
Wim De Pauw, Doug Kimelman, John M. Vlissides
ECOOP3
1993 Design Patterns: Abstraction and Reuse of Object-Oriented Design
Erich Gamma, Richard Helm, Ralph E. Johnson, John M. Vlissides
ECOOP4
1993 Visualizing the Behavior of Object-Oriented Systems
abstract
Numerous classes, complex inheritance and containment hierarchies, and diverse patterns of dynamic interaction all contribute to difficulties in understanding, reusing, debugging, and tuning large object-oriented systems. To help overcome these difficulties, we introduce novel views of the behavior of object-oriented systems and an architecture for creating and animating these views. We describe platform-independent techniques for instrumenting object-oriented programs, a language-independent protocol for monitoring their execution, and a structure for decoupling the execution of a subject program from its visualization. Case studies involving tuning and debugging of real systems are presented to demonstrate the benefits of visualization. We believe that visualization will prove to be a valuable tool for object-oriented software development.
Wim De Pauw, Richard Helm, Doug Kimelman, John M. Vlissides
OOPSLA4
1991 A unidraw-based user interface builder
abstract
Article A unidraw-based user interface builder Share on Authors: John M. Vlissides Center for Integrated Systems, Stanford University, Stanford, California Center for Integrated Systems, Stanford University, Stanford, CaliforniaView Profile , Steven Tang Center for Integrated Systems, Stanford University, Stanford, California Center for Integrated Systems, Stanford University, Stanford, CaliforniaView Profile Authors Info & Claims UIST '91: Proceedings of the 4th annual ACM symposium on User interface software and technologyNovember 1991 Pages 201–210https://doi.org/10.1145/120782.120804Published:11 November 1991 18citation281DownloadsMetricsTotal Citations18Total Downloads281Last 12 Months7Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
John M. Vlissides
UIST1
1990 Unidraw: A Framework for Building Domain-Specific Graphical Editors
abstract
Unidraw is a framework for creating graphical editors in domains such as technical and artistic drawing, music composition, and circuit design. The Unidraw architecture simplifies the construction of these editors by proving programming abstractions that are common across domains. Unidraw defines four basic abstractions: components define operations on components, and external representations define the mapping between components and the file format generated by the editor. Unidraw also supports multiple views, graphical connectivity, and dataflow between components. This paper describes the Unidraw design, implementation issues, and three experimental domain specific editors we have developed with Unidraw: a drawing editor, a user interface builder, and a schematic capture system. Our results indicate a substantial reduction in implementation time and effort compared with existing tools.
John M. Vlissides, Mark A. Linton
ACM Trans. Inf. Syst.1
1989 Unidraw: a framework for building domain-specific
abstract
Unidraw is a framework for creating object-oriented graphical editors in domains such as technical and artistic drawing, music composition, and CAD. The Unidraw architecture simplifies the construction of these editors by providing programming abstractions that are common across domains. Unidraw defines four basic abstractions: components encapsulate the appearance and behavior of objects, tools support direct manipulation of components, commands define operations on components, and external representations define the mapping between components and a file or database. Unidraw also supports multiple views, graphical connectivity, and dataflow between components. This paper presents Unidraw and three prototype domain-specific editors we have developed with it: a schematic capture system, a user interface builder, and a drawing editor. Experience indicates a substantial reduction in implementation time and effort compared with existing tools.
John M. Vlissides, Mark A. Linton
UIST1