Example similarity map    Similar Patents and Articles Toggle Patent Map

Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

AOP is often perceived as a second class reflective mechanism, whereas reflection in OOP is considered first class. However, perceiving AOP as a first class language mechanism is conductive to developing a general AOP model, which can be a basis for an overall theory of AOP. We illustrate this view by comparing AOP with reflection and illustrating that both mechanisms are conceptually at the same level.

top of pageAUTHORS



Author image not provided  Sergei Kojarski

No contact information provided yet.

Bibliometrics: publication history
Publication years2003-2008
Publication count8
Citation Count63
Available for download6
Downloads (6 Weeks)4
Downloads (12 Months)11
Downloads (cumulative)3,934
Average downloads per article655.67
Average citations per article7.88
View colleagues of Sergei Kojarski


Author image not provided  David H. Lorenz

No contact information provided yet.

Bibliometrics: publication history
Publication years1994-2017
Publication count55
Citation Count292
Available for download42
Downloads (6 Weeks)13
Downloads (12 Months)156
Downloads (cumulative)13,850
Average downloads per article329.76
Average citations per article5.31
View colleagues of David H. Lorenz

top of pageREFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
 
4
S. Kojarski, K. Lieberherr, D. H. Lorenz, and R. Hirschfeld. Aspectual reflection. In AOSD 2003 Workshop on Software-engineering Properties of Languages for Aspect Technologies, Boston, Massachusetts, Mar. 18 2003.
5
 
6
7
 
8
B. C. Smith. Reflection and Semantics in a Procedural Language. PhD thesis, MIT LCS TR-272, Jan. 1982.
9

top of pageCITED BY

top of pageINDEX TERMS

The ACM Computing Classification System (CCS rev.2012)

Note: Larger/Darker text within each node indicates a higher relevance of the materials to the taxonomic classification.

top of pagePUBLICATION

Title OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications table of contents
Conference Chairs John Vlissides IBM Research
Program Chairs Doug Schmidt Vanderbilt University
Geoff Cohen Coherence Engine
Pages 216-217
Publication Date2004-10-23 (yyyy-mm-dd)
Sponsors SIGPLAN ACM Special Interest Group on Programming Languages
ACM Association for Computing Machinery
PublisherACM New York, NY, USA ©2004
ISBN: 1-58113-833-4 doi>10.1145/1028664.1028757
Conference SPLASHSystems, Programming, and Applications SPLASH logo
Overall Acceptance Rate 81 of 166 submissions, 49%
Year Submitted Accepted Rate
SPLASH '11 166 81 49%
Overall 166 81 49%

APPEARS IN
Performance
Software

top of pageREVIEWS


Reviews are not available for this item
Computing Reviews logo

top of pageCOMMENTS

Be the first to comment To Post a comment please sign in or create a free Web account

top of pageTable of Contents

Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Table of Contents
DEMONSTRATION SESSION: Demonstrations
Session details: Demonstrations
N. B. Harrison
doi>10.1145/3248490
Refactoring: to the rubicon... and beyond!
Roly Perera
Pages: 2-3
doi>10.1145/1028664.1028666
Full text: PDFPDF

We demonstrate a new approach to refactoring which involves the decomposition of familiar high-level refactorings such as Extract method into their components. By understanding all refactorings as the introduction or elimination of degrees of freedom ...
expand
jMock: supporting responsibility-based design with mock objects
Steve Freeman, Tim Mackinnon, Nat Pryce, Joe Walnes
Pages: 4-5
doi>10.1145/1028664.1028667
Full text: PDFPDF

In this demonstration we will show the flow of the Mock Object development process by pair-programming to develop a code example. During the session, we will introduce the declarative jMock API and show how we use it to describe relationships between ...
expand
Modeling and implementing software architecture with acme and archJava
Jonathan Aldrich, David Garlan, Bradley Schmerl, Tony Tseng
Pages: 6-7
doi>10.1145/1028664.1028668
Full text: PDFPDF

Software architecture describes the high-level organization of a software system, and is essential both for reasoning about system properties and for implementing and evolving code. This demonstration will describe two architecture-related tools: AcmeStudio ...
expand
Advanced refactorings in eclipse
Robert Fuhrer, Frank Tip, Adam Kie|un
Pages: 8-8
doi>10.1145/1028664.1028669
Full text: PDFPDF

We will demonstrate several advanced refactorings for Java that have been implemented in the context of the Eclipse development environment for Java (see <b>www.eclipse.org</b>). These refactorings are semantics-preserving program transformations ...
expand
JQuery: finding your way through tangled code
Edward McCormick, Kris De Volder
Pages: 9-10
doi>10.1145/1028664.1028670
Full text: PDFPDF

A typical IDE based exploration of an OOP system will often involve multiple searches through class hierarchies, field accesses, method calls, regular expression matches and more. Developers who must follow connections between these disconnected views ...
expand
Modeling event driven applications with a specification language (MEDASL)
Murali Kaundinya, Ali Syed
Pages: 11-12
doi>10.1145/1028664.1028671
Full text: PDFPDF

Radio Frequency Identification (RFID) technology provides the means to track any object, any time, anywhere with Electronic Product Codes (EPC). A major consequence of this technology is that the existing Information Technology systems, applications ...
expand
Design snippets: partial design representations extracted from source code
Vibha Sazawal, David Notkin
Pages: 13-14
doi>10.1145/1028664.1028672
Full text: PDFPDF

As software systems evolve, they often grow more brittle. Design snippets help software engineers detect brittleness and improve the ease of change of their software. By studying design snippets and code together, a software engineer can locate improvements ...
expand
Meta-programming for the real world
Matthew Fowler, Brahm van Niekerk
Pages: 15-15
doi>10.1145/1028664.1028673
Full text: PDFPDF

JeeWiz is a commercial tool for model-driven generation of enterprise-level systems. It can automate any part of the development process where repetitive work is required by meta-programming. JeeWiz is universal - being based on a meta modelling approach, ...
expand
JRA: offline analysis of runtime behaviour
Helena Åberg Östlund
Pages: 16-17
doi>10.1145/1028664.1028674
Full text: PDFPDF

The JRockit Java virtual machine has a built-in capability to produce recordings of the runtime behaviour of an application environment. It is a light-weight system with a very low performance cost, which can give valuable insights as to how the JVM ...
expand
Modeling and building software product lines with eclipse
Olaf Spinczyk, Danilo Beuche
Pages: 18-19
doi>10.1145/1028664.1028675
Full text: PDFPDF
PRISM is research in aSpect mining
Charles Zhang, Hans-Arno Jacobsen
Pages: 20-21
doi>10.1145/1028664.1028676
Full text: PDFPDF
Smell detection for eclipse
Arnab Bhattacharrya, Robert Fuhrer
Pages: 22-22
doi>10.1145/1028664.1028677
Full text: PDFPDF

Smells are architectural, rather than functional, flaws in software that tend to reduce maintainability, extensibility, modularity, testability, or other software quality measures. Common smells include overly-long method bodies, message chains, parallel ...
expand
AJEER: an aspectJ-enabled eclipse runtime
Martin Lippert
Pages: 23-24
doi>10.1145/1028664.1028678
Full text: PDFPDF

There are a number of technologies designed to improve modularity in software systems. The technique presented here combines two of them seamlessly to exploit their respective benefits: Eclipse plugins and AspectJ. The Eclipse runtime is based on the ...
expand
Program transformations for re-engineering C++ components [OOPSLA/GPCE]
Robert L. Akers, Ira D. Baxter, Michael Mehlich
Pages: 25-26
doi>10.1145/1028664.1028679
Full text: PDFPDF

Component-based software engineering enables applications to be assembled from component parts that adhere to a component-style specific interface specification and protocol. Components available for one style are not available for another. Component ...
expand
C-SAW and genAWeave: a two-level aspect weaving toolsuite
Jeff Gray, Jing Zhang, Suman Roychoudhury, Ira Baxter
Pages: 27-28
doi>10.1145/1028664.1028680
Full text: PDFPDF

This demonstration will feature overviews of the C-SAW and GenAWeave projects. The first half of the presentation will introduce the concept of two-level aspect weaving, which unites a <i>model transformation</i> tool with a <i>program transformation</i> ...
expand
The concern manipulation environment [OOPSLA/GPCE]
Peri Tarr, William Chung, William Harrison, Vincent Kruskal, Harold Ossher, Stanley M. Sutton, Jr., Andrew Clement, Matthew Chapman, Helen Hawkins, Sian January
Pages: 29-30
doi>10.1145/1028664.1028681
Full text: PDFPDF

The Concern Manipulation Environment (CME) aims to provide a set of open, extensible components and a set of tools that promote aspect-oriented software development (AOSD) throughout the software lifecycle. It has two main goals: To provide an open, ...
expand
Performance explorer: understanding java application behavior
Matthias Hauswirth, Peter F. Sweeney, Amer Diwan
Pages: 31-32
doi>10.1145/1028664.1028682
Full text: PDFPDF

This demonstration illustrates how the visualization tool, Performance Explorer (PE), can be used to understand the behavior of Java applications. PE allows the visualization of data over time in various graphical and tabular ways. In addition, PE allows ...
expand
ConstrainedJava
Donald Gordon, James Noble, Robert Biddle
Pages: 33-34
doi>10.1145/1028664.1028683
Full text: PDFPDF

Interactive graphical applications implicitly contain a large number of constraints -- relationships between objects, such as widgets and the underlying model they control. Encapsulation, a fundamental principle of object-oriented programming, is only ...
expand
Object-oriented, structural software configuration management
Tien N. Nguyen, Ethan V. Munson, John T. Boyland
Pages: 35-36
doi>10.1145/1028664.1028684
Full text: PDFPDF

Capturing the evolution of logical objects and structures in a software project is crucial to the development of a high-quality software. This research demonstration presents an <i>object-oriented</i> approach to managing the evolution of system ...
expand
Towards domain-driven development: the smartTools software factory
Didier Parigot
Pages: 37-38
doi>10.1145/1028664.1028685
Full text: PDFPDF

Nowadays, software needs to be more open, flexible, and capable of evolving quickly to meet new user or technology requirements. It should be easy to adapt, even by none computer-specialists. To tackle these challenges for DSL (<i>Domain-Specific ...
expand
MetaEdit+: domain-specific modeling for full code generation demonstrated [GPCE]
Juha-Pekka Tolvanen
Pages: 39-40
doi>10.1145/1028664.1028686
Full text: PDFPDF

Domain-Specific Modeling (DSM) raises the level of abstraction beyond programming by specifying the solution directly using domain concepts. In many cases, the final products can be generated from these high-level specifications. This automation is possible ...
expand
Implementing DSLs in metaOCaml
Miguel Guerrero, Edward Pizzi, Robert Rosenbaum, Kedar Swadi, Walid Taha
Pages: 41-42
doi>10.1145/1028664.1028687
Full text: PDFPDF
XIRC: cross-artifact information retrieval [GPCE]
Michael Eichberg, Thorsten Schäfer
Pages: 43-44
doi>10.1145/1028664.1028688
Full text: PDFPDF

In large scale software development projects, in particular in the field of Component-Based Software Engineering (CBSE), different kinds of a project's artifacts are used and related information is spread over the different artifacts. E.g., the transaction ...
expand
SESSION: Doctoral symposium
Session details: Doctoral symposium
L. Williams
doi>10.1145/3248491
Full text: PDFPDF
Modeling dynamics of agile software development
Lan Cao
Pages: 46-47
doi>10.1145/1028664.1028690
Full text: PDFPDF

The primary objective of my dissertation is to develop an integrative view of agile software development to enhance our understanding and make predictions about the agile process. By modeling the dynamics of agile software development process, the applicability ...
expand
Interactive visualization of object-oriented programs
Paul V. Gestwicki
Pages: 48-49
doi>10.1145/1028664.1028691
Full text: PDFPDF

We describe a novel approach to runtime visualization of object-oriented programs. Our approach features: visualizations of execution state and history; forward and reverse execution; interactive queries during program execution; and advanced drawing ...
expand
Generic ownership: practical ownership control in programming languages
Alex Potanin, James Noble, Robert Biddle
Pages: 50-51
doi>10.1145/1028664.1028692
Full text: PDFPDF

This research abstract outlines the work I plan to do as part of my PhD. In particular, I propose to devise a practical way of integrating ownership control into existing programming languages in a way that will help with adoption of ownership in the ...
expand
A language-independent approach to software maintenance using grammar adapters
Suman Roychoudhury
Pages: 52-53
doi>10.1145/1028664.1028693
Full text: PDFPDF

A long-standing goal of software engineering is to construct software that is easily modified and extended. Recent advances in software design techniques, such as aspect-oriented software development and refactoring, have offered new approaches to address ...
expand
Modular generics
Jeremy G. Siek
Pages: 54-55
doi>10.1145/1028664.1028694
Full text: PDFPDF
Efficient data race and deadlock prevention in concurrent object-oriented programs
Piotr Nienaltowski
Pages: 56-57
doi>10.1145/1028664.1028695
Full text: PDFPDF

The main goal of this PhD thesis is to propose and implement a methodology for the construction of programs based on the SCOOP model, and for modular reasoning about their correctness and liveness properties. In particular, the set of correctness rules ...
expand
A framework for removing redundant context management services in enterprise javaBeans application servers
Mircea Trofin
Pages: 58-59
doi>10.1145/1028664.1028696
Full text: PDFPDF

We propose a framework for removing redundant context management services in contextual composition frameworks, with focus on Enterprise JavaBeans. It is expected that by applying our framework, performance can be improved without the loss of modularity.
expand
Refining designs along middleware-specific concern-dimensions at different MDA-levels of abstraction
Raul Silaghi
Pages: 60-62
doi>10.1145/1028664.1028697
Full text: PDFPDF

For the MDA approach to software development to become a reality for distributed enterprise systems, MDA needs to provide both modeling support for middleware-specific concerns and tool support for helping developers refine their designs along such concerndimensions ...
expand
SESSION: Educators' symposium
Session details: Educators' symposium
E. Wallingford
doi>10.1145/3248492
Full text: PDFPDF
"Objects first, interfaces next" or interfaces before inheritance
Axel Schmolitzky
Pages: 64-67
doi>10.1145/1028664.1028699
Full text: PDFPDF

<i>Objects first</i> is a pedagogy that tries to introduce the core concepts of object-oriented programming - classes, objects, and methods - as early as possible in a programming course, even before variables, types, assignments and control ...
expand
Ancestor worship in CS1: on the primacy of arrays
Phil Ventura, Christopher Egert, Adrienne Decker
Pages: 68-72
doi>10.1145/1028664.1028700
Full text: PDFPDF

History has given us the array as the fundamental data structure to present to students within the CS1 curriculum. However, with the recent growth in popularity of object-oriented languages for CS1 (C++, Java, C#), and with that, the acceptance of the ...
expand
greenfoot: combining object visualisation with interaction
Poul Henriksen, Michael Kölling
Pages: 73-82
doi>10.1145/1028664.1028701
Full text: PDFPDF

The introduction of programming education with object-oriented languages slowly migrates down the curriculum and is now often introduced at the high school level. This migration requires teaching tools that are adequate for the intended target audience. ...
expand
Examples that can do harm in learning programming
Katherine Malan, Ken Halland
Pages: 83-87
doi>10.1145/1028664.1028702
Full text: PDFPDF

Examples form an integral part of learning to program. In this paper we argue that the role of examples should go beyond merely illustrating concepts or principles and should "sell" concepts to new programmers. We identify four common pitfalls to avoid ...
expand
If i had a model, i'd model in the mornin'
Kurt D. Fenstermacher
Pages: 88-95
doi>10.1145/1028664.1028703
Full text: PDFPDF

Despite the importance of modeling in producing high-quality software, modeling often receives scant attention in academic curricula. The recent (sometimes heated) discussion of the Object Management Group's Model-Driven Architecture (MDA) has created ...
expand
Event-driven programming facilitates learning standard programming concepts
Kim B. Bruce, Andrea Danyluk
Pages: 96-100
doi>10.1145/1028664.1028704
Full text: PDFPDF

We have designed a CS 1 course that integrates event-driven programming from the very start. In cite BDMITiCSE1 we argued that event-driven programming is simple enough for CS 1 when introduced with the aid of a library that we have developed. In this ...
expand
Abstract factories and the shape calculator
Eric Cheng, Dung "Zung" Nguyen, Mathias Ricken, Stephen Wong
Pages: 101-102
doi>10.1145/1028664.1028705
Full text: PDFPDF

The Shape Calculator is an assignment targeted at CS1 students in an objects-first curriculum. It can serve as a powerful yet entertaining example of the advantages of object-orientation.
expand
Using the game of life to introduce freshman students to the power and elegance of design patterns
Michael R. Wick
Pages: 103-105
doi>10.1145/1028664.1028706
Full text: PDFPDF

In this paper, we describe two programming assignments based on a refactoring of the classic Game of Life application. In particular, we use the Game of Life to help teach freshman students two important and widely applicable design patterns - Command ...
expand
From concrete to abstract: the power of generalization
Christopher H. Nevison
Pages: 106-108
doi>10.1145/1028664.1028707
Full text: PDFPDF

We describe an assignment for students in a software engineering class or advanced programming class with emphasis on design. In the assignment students are given a program that solves a maze, with a display that shows the steps toward the solution. ...
expand
Marine biology simulation
Eric Cheng, Dung "Zung" Nguyen, Mathias Ricken, Stephen Wong
Pages: 109-110
doi>10.1145/1028664.1028708
Full text: PDFPDF

The Marine Biology Simulation is designed as a final project in an objects-first CS2 course. It provides an entertaining setting that serves as compelling example of the powers of object-oriented design and programming.
expand
SESSION: Onward!
Session details: Onward!
G. Cohen
doi>10.1145/3248493
Full text: PDFPDF
Notes on notes on postmodern programming: radio edit
James Noble, Robert Biddle
Pages: 112-115
doi>10.1145/1028664.1028710
Full text: PDFPDF

These notes have the status of letters written to ourselves: we wrote them down because, without doing so, we found ourselves making up new arguments over and over again. So began the abstract of our earlier paper <i>Notes on Postmodern Programming</i>. ...
expand
Languages of the future
Tim Sheard
Pages: 116-119
doi>10.1145/1028664.1028711
Full text: PDFPDF

This paper explores a new point in the design space of formal reasoning systems - part programming language, part logical framework. The system is built on a programming language where the user expresses equality constraints between types and the type ...
expand
Protocols for processes: programming in the large for open systems (extended abstract)
Munindar P. Singh, Amit K. Chopra, Nirmit V. Desai, Ashok U. Mallya
Pages: 120-123
doi>10.1145/1028664.1028712
Full text: PDFPDF

The modeling and enactment of business processes is being recognized as key to modern information management. The expansion of Web services has increased the attention given to processes, because processes are how services are composed and put to good ...
expand
Example centric programming
Jonathan Edwards
Pages: 124-124
doi>10.1145/1028664.1028713
Full text: PDFPDF

Programmers tend to understand programs by thinking of concrete examples. <i>Example Centric Programming</i> seeks to add IDE support for examples throughout the process of programming. Instead of programmers interpreting examples in their head, ...
expand
Methodology work is ontology work
Brian Marick
Pages: 125-125
doi>10.1145/1028664.1028714
Full text: PDFPDF

I argue that a successful switch from one methodology to another requires a switch from one <i>ontology</i> to another. Large-scale adoption of a new methodology means "infecting" people with new ideas about what sorts of things there are in ...
expand
Looking for love: (in all the wrong places)
David West
Pages: 126-127
doi>10.1145/1028664.1028715
Full text: PDFPDF

This paper is an extended abstract of the presentation at OOPSLA '04 and the full paper that will appear in the December issue of SIGPLAN Notices.
expand
Granule-oriented programming (extended abstract)
Yinliang Zhao
Pages: 128-131
doi>10.1145/1028664.1028716
Full text: PDFPDF
Finding bugs is easy
David Hovemeyer, William Pugh
Pages: 132-136
doi>10.1145/1028664.1028717
Full text: PDFPDF

Many techniques have been developed over the years to automatically find bugs in software. Often, these techniques rely on formal methods and sophisticated program analysis. While these techniques are valuable, they can be difficult to apply, and they ...
expand
PANEL SESSION: Panels
Session details: Panels
K. Brown
doi>10.1145/3248494
Full text: PDFPDF
Model driven architecture: the realities, a year later
Granville Miller, Scott Ambler, Steve Cook, Stephen Mellor, Karl Frank, Jon Kern
Pages: 138-140
doi>10.1145/1028664.1028719
Full text: PDFPDF

Model Driven Architecture (MDA) is a technology that has been in the process of evolution for many years. We looked at this technology last year in a panel that raised the roof. Today, more vendors are now producing products that support MDA. And we ...
expand
Software development: arts & crafts or math & science?
Jim Haungs, Martin Fowler, Ralph Johnson, Steve McConnell, Richard Gabriel
Pages: 141-142
doi>10.1145/1028664.1028720
Full text: PDFPDF

We've have been proposing formal mathematical methods of software development for nearly as long as we've been developing software. CASE tools were a bust, and Gödel long ago nullified any hope of building a system that is both complete and consistent. ...
expand
The great J2EE vs. microsoft.NET shootout
Martin Fowler, Don Box, Anders Hejlsberg, Alan Knight, Rob High, John Crupi
Pages: 143-144
doi>10.1145/1028664.1028721
Full text: PDFPDF

J2EE and Microsoft.NET have emerged as two major frameworks for software development. Are they more similar than different or are the differences significant? How do they stack up against each other? This panel will offer a lively discussion from leaders ...
expand
Challenges in outsourcing and global development: how will your job change?
Steven Fraser, Lougie Anderson, Ron Crocker, Richard Gabriel, Martin Fowler, Ricardo Lopez, Dave Thomas
Pages: 145-147
doi>10.1145/1028664.1028722
Full text: PDFPDF

If you are a software professional, your job is changing. Outsourcing and global development affect many things in our work environment: what and where we build, how (and when) we communicate, and how we prepare ourselves for the future. Outsourcing ...
expand
The role of the customer in software development: the XP customer - fad or fashion?
Steven Fraser, Angela Martin, Robert Biddle, David Hussman, Granville Miller, Mary Poppendieck, Linda Rising, Mark Striebeck
Pages: 148-150
doi>10.1145/1028664.1028723
Full text: PDFPDF

One of the core XP (Xtreme Programming) practices is that of the "on-site customer". In the words of Kent Beck (2000) in his book "eXtreme Programming Explained" the intent is that a "real customer must sit with the team, available to answer questions, ...
expand
The view: the ultimate IT chat
Nicolai M. Josuttis, Jutta Eckstein, Linda Rising, Lise B. Hvatum, Mary Lynn Manns, Rebecca Wirfs-Brock
Pages: 151-152
doi>10.1145/1028664.1028724
Full text: PDFPDF

The world is changing; and this is also true for our IT business. Nicolai Josuttis talks with five international extraordinary female representatives of our IT business about the most important, thought-provoking, and funniest IT headlines and tendencies ...
expand
POSTER SESSION: Poster session
Session details: Poster session
T. Layda
doi>10.1145/3248495
Full text: PDFPDF
QuA: building with reusable QoS-aware components
Frank Eliassen, Richard Staehli, Gordon Blair, Jan Øyvind Aagedal
Pages: 154-155
doi>10.1145/1028664.1028726
Full text: PDFPDF

The QuA project team at Simula Research Laboratory has prototyped an open source component middleware platform to support QoS sensitive applications. We are investigating the design of resuable QoS management components and tools to enable rapid construction ...
expand
Modeling and implementing software architecture with acme and archJava
Jonathan Aldrich, David Garlan, Bradley Schmerl, Tony Tseng
Pages: 156-157
doi>10.1145/1028664.1028727
Full text: PDFPDF

Software architecture describes the high-level organization of a software system, and is essential both for reasoning about system properties and for implementing and evolving code. This poster describes two architecture-related tools: AcmeStudio for ...
expand
An invitation to the dance of progress
Lawrence Carleton
Pages: 158-159
doi>10.1145/1028664.1028728
Full text: PDFPDF

We evaluate events singly as gain or loss from status quo. We value sure gain, flee sure loss, assume progress cumulative. But progress relies on opportunism, taking advantage of tools and circumstances emerging through experience. Patterns, practices ...
expand
OOLACA: an object oriented library for abstract and computational algebra
Virginia Niculescu, Grigoreta Moldovan
Pages: 160-161
doi>10.1145/1028664.1028729
Full text: PDFPDF

Object oriented programming and design patterns introduce a high level of abstraction that allows us to implement and work with mathematical abstractions. We analyze and design an object oriented algebraic library, that allows working not only with concrete ...
expand
Pseudo-classes: very simple and lightweight mockObject-like classes for unit-testing
Geoff Sobering, Levi Cook, Steve Anderson
Pages: 162-163
doi>10.1145/1028664.1028730
Full text: PDFPDF

A simple alternative to MockObjects is presented. Given the interface of an object required by a class-under-test, a Pseudo-Class is created implementing all methods such that they immediately fail. A test-specific sub-class of the Pseudo-Class is created ...
expand
Towards a framework for the general intensional programming compiler in the GIPSY
Joey Paquet, Aihua Wu, Peter Grogono
Pages: 164-165
doi>10.1145/1028664.1028731
Full text: PDFPDF

In this paper, we describe a compiler framework to enable the automated generation of compiler components for the Lucid family of intensional programming languages.
expand
An aspect-oriented generative approach
Uirá Kulesza, Alessandro Garcia, Carlos Lucena
Pages: 166-167
doi>10.1145/1028664.1028732
Full text: PDFPDF

The integration of generative and aspect-oriented techniques is not a trivial task. This paper describes our experience in the definition of an aspect-oriented generative approach for the context of multi-agent systems. Our generative approach is composed ...
expand
Modeling event driven applications with a specification language (MEDASL)
Murali Kaundinya, Ali Syed
Pages: 168-169
doi>10.1145/1028664.1028733
Full text: PDFPDF

Radio Frequency Identification (RFID) technology provides the means to track any object, any time, anywhere with Electronic Product Codes (EPC). A major consequence of this technology is that the existing Information Technology systems, applications ...
expand
Improving quality in conceptual modeling
Tauqeer Hussain, Shafay Shamail, Mian M. Awais
Pages: 170-171
doi>10.1145/1028664.1028734
Full text: PDFPDF

Quality of a conceptual model can be defined along three dimensions - syntax, semantics and pragmatic. Pragmatic quality has been improved in the literature through schema transformations. We suggest an approach that also improves the semantic quality ...
expand
Bottleneck analysis in java applications using hardware performance monitors
Dries Buytaert, Andy Georges, Lieven Eeckhout, Koen De Bosschere
Pages: 172-173
doi>10.1145/1028664.1028735
Full text: PDFPDF

This poster presents <sc>MonitorMethod</sc> which helps Java programmers gain insight in the behavior of their applications. <sc>MonitorMethod</sc> instruments the Java application and relates hardware performance monitors (HPMs) to the ...
expand
Mobile-D: an agile approach for mobile application development
Pekka Abrahamsson, Antti Hanhineva, Hanna Hulkko, Tuomas Ihme, Juho Jäälinoja, Mikko Korkala, Juha Koskela, Pekka Kyllönen, Outi Salo
Pages: 174-175
doi>10.1145/1028664.1028736
Full text: PDFPDF

Mobile phones have been closed environments until recent years. The change brought by open platform technologies such as the Symbian operating system and Java technologies has opened up a significant business opportunity for anyone to develop application ...
expand
Dependable distributed systems
A. Szep, R. Smeikal, M. Jandl, K. M. Goeschka
Pages: 176-177
doi>10.1145/1028664.1028737
Full text: PDFPDF

Distributed software systems are the basis for many innovative applications. The key for achieving scalable and maintainable distributed systems is dependability, because otherwise the complexity of distribution would leave the system uncontrollable. ...
expand
Visualisation for learning OOP, using AOP and eclipse
Rilla Khaled, Anna Maria Luxton, James Noble, Leo Ferres, Judy Brown, Robert Biddle
Pages: 178-179
doi>10.1145/1028664.1028738
Full text: PDFPDF

This paper outlines our project to help beginners learn to program by showing object visualisations driven by aspect- oriented programming, and presented as part of the Eclipse development platform. The aspect-oriented programming is part of the infrastructure ...
expand
AJEER: an aspectJ-enabled eclipse runtime
Martin Lippert
Pages: 180-181
doi>10.1145/1028664.1028739
Full text: PDFPDF

There are a number of technologies designed to improve modularity in software systems. The technique presented here combines two of them seamlessly to exploit their respective benefits: Eclipse plugins and AspectJ. The Eclipse runtime is based on the ...
expand
An open model infrastructure for automotive software
Gabriel Vögler, Thomas Flor, Hajo Eichler, Matthias Kasprowicz
Pages: 182-183
doi>10.1145/1028664.1028740
Full text: PDFPDF

To accommodate the growing demand for complexity in the automotive industry, an approach for a cross-process information model is introduced: the infrastructure presented aims at storing and relating key development data from the various software engineering ...
expand
Design pattern integrated tool
Somsak Phattarasukol, Daisy Sang
Pages: 184-185
doi>10.1145/1028664.1028741
Full text: PDFPDF

The use of design patterns in the mainstream has been limited due technical restrictions in supporting tools. We developed an integrated tool that supports language and platform independence, and facilitates cross-platform interoperability. The tool ...
expand
Advancements in multicode optimization
Ben Stephenson, Wade Holst
Pages: 186-187
doi>10.1145/1028664.1028742
Full text: PDFPDF

In previous work, we have shown that multicodes can be used to improve the performance of Java applications. We extend that work by both implementing more multicodes and considering multicodes of greater length. This has resulted in significantly larger ...
expand
J2EE for the public administration: a success story
Maurizio Lancia, Paola Garzenini, Roberto Puccinelli, Alessio Marchetti
Pages: 188-189
doi>10.1145/1028664.1028743
Full text: PDFPDF

Our poster shows how J2EE technologies, well-known design patterns and standard methodologies have successfully been applied in building a complete, robust and well-documented accounting application. Our experience demonstrates that those three factors ...
expand
Meta: extending and unifying languages
Wade Holst
Pages: 190-191
doi>10.1145/1028664.1028744
Full text: PDFPDF

<i>Meta</i> is an ambitious research project whose overall purpose is to increase the utility and expressive power of a wide range of existing languages. <i>Meta</i> provides augmented versions of existing languages and guarantees support ...
expand
A UML profile for service oriented architectures
Rafik Amir, Amir Zeid
Pages: 192-193
doi>10.1145/1028664.1028745
Full text: PDFPDF

Service Oriented Computing is the new paradigm for Distributed computing and e-business processing that is changing the way software applications are designed, architected, delivered and consumed. Services are autonomous platform-independent computational ...
expand
An approach and tools to automate externalization of application logic
Hoi Chan, Trieu C. Chieu
Pages: 194-195
doi>10.1145/1028664.1028746
Full text: PDFPDF

Externalization of application logic from application objects has become pervasive in its use in many system, business and application components. Implementation of such systems typically focuses on the use of rules and rule engines, and has typically ...
expand
Cona: aspects for contracts and contracts for aspects
Therapon Skotiniotis, David H. Lorenz
Pages: 196-197
doi>10.1145/1028664.1028747
Full text: PDFPDF

Design by Contract (DBC) and runtime enforcement of program assertions enables the construction of more robust software. It also enables the assignment of blame in error reporting. As of yet, no AOP implementation for the provision of DBC exists. We ...
expand
<CTRL> + <ALT> + <TOOL PARADIGM SHIFT>?
Russ Freeman, Phil Webb
Pages: 198-199
doi>10.1145/1028664.1028748
Full text: PDFPDF

Despite being laden with elaborate features and time-saving gadgetry, modern Integrated Development Environments (IDEs) continue to be little more than turbocharged text editors with loosely integrated compilers. Years of incremental evolution of these ...
expand
A search system for java programs by using extracted javaBeans components
Hironori Washizaki, Yoshiaki Fukazawa
Pages: 200-201
doi>10.1145/1028664.1028749
Full text: PDFPDF

We propose a new component-extraction-based program search system. Our system analyses existing Java programs, acquires relationships among classes, and extracts JavaBeans components composed of classes. Moreover, our system generates indexes composed ...
expand
Deriving refactorings for aspectJ
Leonardo Cole, Paulo Borba
Pages: 202-203
doi>10.1145/1028664.1028750
Full text: PDFPDF

In this paper we present aspect-oriented programming laws that are useful for deriving refactorings for AspectJ. The laws help developers to verify if the transformations they define preserve behavior. We illustrate that by deriving several AspectJ refactorings. ...
expand
RUBiS revisited: why J2EE benchmarking is hard
Bill Pugh, Jaime Spacco
Pages: 204-205
doi>10.1145/1028664.1028751
Full text: PDFPDF

We have replicated the experiments of Cecchet et al detailed in "Performance and Scalability of EJB Applications" at OOPSLA '02. We report on our experiences configuring, deploying and tuning Enterprise software, and provide evidence that many of the ...
expand
Mobile musical agents: the andante project
Leo Kazuhiro Ueda, Fabio Kon
Pages: 206-207
doi>10.1145/1028664.1028752
Full text: PDFPDF

We investigate the use of mobile agents for the creation of music within a distributed computing environment. We believe this technology has the potential to foster new ways of making music. This poster presents Andante, an object-oriented, open-source ...
expand
A core calculus of mixins and incomplete objects
Lorenzo Bettini, Viviana Bono, Silvia Likavec
Pages: 208-209
doi>10.1145/1028664.1028753
Full text: PDFPDF

Our calculus combines class-based features with object-based ones, with the aim of fitting into a unified setting the "best of both worlds". In a mixin-based approach, mixins are seen as <i>incomplete classes</i> from which <i>incomplete ...
expand
RAIL: code instrumentation for .NET
Bruno Cabral, Paulo Marques, Luís Silva
Pages: 210-211
doi>10.1145/1028664.1028754
Full text: PDFPDF

Code instrumentation is a mechanism that allows modules of programs to be completely rewritten at runtime. With the advent of virtual machines, this type of functionality is becoming more and more interesting because it allows the introduction of new ...
expand
iXj: interactive source-to-source transformations for java
Marat Boshernitsan, Susan L. Graham
Pages: 212-213
doi>10.1145/1028664.1028755
Full text: PDFPDF

Manual large-scale modification or generation of source code can be tedious and error-prone. Integrating scriptable source-to-source program transformations into development environments will assist developers with this overwhelming task. We discuss ...
expand
WSAgent: an agent based on web services to promote interoperability between heterogeneous systems in the health domain
Leticia R. Rheinheimer, Junior M. Martins, Sérgio Crespo C. S. Pinto
Pages: 214-215
doi>10.1145/1028664.1028756
Full text: PDFPDF

This paper describes a Software Agent called WSAgent, which combines technologies such as Web Services, Frameworks and Design Patterns in the construction of a bind to grant interoperability, reuse and flexibility between heterogeneous environments in ...
expand
AOP as a first class reflective mechanism
Sergei Kojarski, David H. Lorenz
Pages: 216-217
doi>10.1145/1028664.1028757
Full text: PDFPDF

AOP is often perceived as a second class reflective mechanism, whereas reflection in OOP is considered first class. However, perceiving AOP as a first class language mechanism is conductive to developing a general AOP model, which can be a basis for ...
expand
CoSMIC: addressing crosscutting deployment and configuration concerns of distributed real-time and embedded systems
Aniruddha Gokhale, Krishnakumar Balasubramanian, Tao Lu
Pages: 218-219
doi>10.1145/1028664.1028758
Full text: PDFPDF

This paper describe a model-driven development (MDD) toolsuite called <i>Component Synthesis using Model-Integrated Computing</i> (CoSMIC), which configures and deploys distributed real-time and embedded (DRE) systems using quality of service ...
expand
SODA: a stability-oriented domain analysis method
Haitham S. Hamza
Pages: 220-221
doi>10.1145/1028664.1028759
Full text: PDFPDF

In work to date, domain analysis methods do not explicitly emphasize stability. In this poster, we present the <i>SODA</i> (Stability-Oriented Domain Analysis) method, a domain analysis method that embraces stability as a driver for domain analysis. ...
expand
Model synchronization as a problem of maximizing model dependencies
Igor Ivkovic, Kostas Kontogiannis
Pages: 222-223
doi>10.1145/1028664.1028760
Full text: PDFPDF

During the course of its evolution, software is modified through models at different levels of abstraction, from the requirements specification to source code. To enable systematic development and maintenance, related models need to be kept synchronized. ...
expand
Reflective composition: the declarative composition of roles to unify objects, roles, and aspects
Simon Holland
Pages: 224-225
doi>10.1145/1028664.1028761
Full text: PDFPDF

As bases for object-orientation, both class-based and prototype-based organization have limitations. We argue that roles have significant benefits as a foundation for organizing objects. We further argue that these benefits can be realised most flexibly ...
expand
JIVE: java interactive visualization environment
Paul V. Gestwicki, Bharat Jayaraman
Pages: 226-228
doi>10.1145/1028664.1028762
Full text: PDFPDF

Jive represents a novel approach to runtime visualization and analysis of Java programs. It facilitates program understanding and interactive debugging, featuring: multiple, customizable views of object structure; representation of execution history ...
expand
SESSION: Practitioner reports
Session details: Practitioner reports
G. E. Harris
doi>10.1145/3248496
Full text: PDFPDF
The software architect: essence, intuition, and guiding principles
Matthew R. McBride
Pages: 230-235
doi>10.1145/1028664.1028764
Full text: PDFPDF

Software architecture is a distinct and developing discipline in the software profession. Many practitioners have apparently entered the field with little effort; adding the word "architect" to a title is easy to do. However, beneath the surface appearance, ...
expand
Mock roles, not objects
Steve Freeman, Tim Mackinnon, Nat Pryce, Joe Walnes
Pages: 236-246
doi>10.1145/1028664.1028765
Full text: PDFPDF

Mock Objects is an extension to Test-Driven Development that supports good Object-Oriented design by guiding the discovery of a coherent system of types within a code base. It turns out to be less interesting as a technique for isolating tests from third-party ...
expand
Comparison of UML and text based requirements engineering
Brian A. Berenbach
Pages: 247-252
doi>10.1145/1028664.1028766
Full text: PDFPDF

There appears to be a real dichotomy in the use of the UML vs. text based Use Case development for requirements elicitation and documentation, that is, on those projects where use cases are work products. Not only are there different processes in place ...
expand
PIP: a product planning strategy for the whole family or... how we became the brady bunch
Joseph A. Blotner
Pages: 253-259
doi>10.1145/1028664.1028767
Full text: PDFPDF

As a small start-up company with a heavyweight client list, Sabrix found itself at a critical crossroads in its growth in the Spring of 2003. We were consuming all product development resources satisfying commitments made to existing customers, which ...
expand
eXtreme ISO ?!?
Aki Namioka, Cary Bran
Pages: 260-263
doi>10.1145/1028664.1028768
Full text: PDFPDF

This Report discusses how a web-based application development project adopted XP and passed its first ISO audit. The practitioners report will consist of background material, a discussion of XP-friendly practices that the development team adopted, a ...
expand
Why reuse matters: ANI's digital archive system
Daniel Antion
Pages: 264-267
doi>10.1145/1028664.1028769
Full text: PDFPDF

This practitioner report stems from a project, ANI's Digital Archive System. The report focuses on the benefits derived from a decision to ignore the popular wisdom of acquiring one of the many commercial-off-the-shelf (COTS) systems and build a document ...
expand
Hard real-time: C++ versus RTSJ
Daniel L. Dvorak, William K. Reinholtz
Pages: 268-274
doi>10.1145/1028664.1028770
Full text: PDFPDF

In the domain of hard real-time systems, which language is better: C++ or the Real-Time Specification for Java (RTSJ)? Although standard Java provides a more productive programming environment than C++ due to automatic memory management, that benefit ...
expand
Traits: experience with a language feature
Emerson R. Murphy-Hill, Andrew P. Black
Pages: 275-282
doi>10.1145/1028664.1028771
Full text: PDFPDF

This paper reports our experiences using traits, collections of pure methods designed to promote reuse and understandability in object-oriented programs. Traits had previously been used to refactor the Smalltalk collection hierarchy, but only by the ...
expand
Second generation web services-oriented architecture in production in the finance industry
Olaf Zimmermann, Sven Milinski, Michael Craes, Frank Oellermann
Pages: 283-289
doi>10.1145/1028664.1028772
Full text: PDFPDF

Effective and affordable business process integration is a key concern in the finance industry. A large German joint-use centre, supplying services to 237 individual savings banks, enhanced the integration capabilities of its core banking system, consisting ...
expand
Migrating to simpler distributed applications
Joachim F. Kainz
Pages: 290-293
doi>10.1145/1028664.1028773
Full text: PDFPDF

In 1994 Wells Fargo Bank was the first large financial services company to invest heavily in distributed object-oriented applications for high-volume, mission-critical applications using version 1 of OMG's Common Object Request Broker Architecture. Wells ...
expand
Validating structural properties of nested objects
Darrell Reimer, Edith Schonberg, Kavitha Srinivas, Harini Srinivasan, Julian Dolby, Aaron Kershenbaum, Larry Koved
Pages: 294-304
doi>10.1145/1028664.1028774
Full text: PDFPDF

Frameworks are widely used to facilitate software reuse and accelerate development time. However, there are currently no systematic mechanisms to enforce the explicit and implicit rules of these frameworks. This paper focuses on a class of framework ...
expand
SESSION: Student research competition
Session details: Student research competition
T. Layda
doi>10.1145/3248497
Full text: PDFPDF
A lightweight LTL runtime verification tool for java
Eric Bodden
Pages: 306-307
doi>10.1145/1028664.1028776
Full text: PDFPDF

Runtime verification is a special form of runtime testing, employing formal methods and languages. In this work, we utilize next-time free linear-time temporal logic (LTL\textbackslash X) as formal framework. The discipline serves the purpose of asserting ...
expand
NGMF: a generic framework for constructing graph-based systems
Hadi Salimi
Pages: 308-309
doi>10.1145/1028664.1028777
Full text: PDFPDF

Many branches of engineering and science rely on graphs for representing a wide variety of objects from electrical circuits to economic systems. It is therefore reasonable to have a framework for constructing this kind of applications that can manage ...
expand
Supporting software evolution through model-driven program transformation
Jing Zhang
Pages: 310-311
doi>10.1145/1028664.1028778
Full text: PDFPDF

Model-Driven Software Development (MDSD) techniques are being adopted with more frequency in the engineering of computer based systems, especially in the area of distributed real-time embedded (DRE) systems. This brief summary presents two research objectives ...
expand
A framework for removing redundant context management services in enterprise javaBeans application servers
Mircea Trofin
Pages: 312-313
doi>10.1145/1028664.1028779
Full text: PDFPDF

We propose a framework for removing redundant context management services in contextual composition frameworks, with focus on Enterprise JavaBeans. It is expected that by applying our framework, performance can be improved without the loss of modularity.
expand
A language-independent approach to software maintenance using grammar adapters
Suman Roychoudhury
Pages: 314-315
doi>10.1145/1028664.1028780
Full text: PDFPDF

A long-standing goal of software engineering is to construct software that is easily modified and extended. Recent advances in software design techniques, such as aspect-oriented software development and refactoring, have offered new approaches to address ...
expand
A framework for detecting, assessing and visualizing performance antipatterns in component based systems
Trevor Parsons
Pages: 316-317
doi>10.1145/1028664.1028781
Full text: PDFPDF

Component-based enterprise systems often suffer from performance issues as a result of poor system design. In this paper, we propose a framework to automatically detect, assess and visualize poor system design, from a performance perspective, by analyzing ...
expand
Refining designs along middleware-specific concern-dimensions at different MDA-levels of abstraction
Raul Silaghi
Pages: 318-319
doi>10.1145/1028664.1028782
Full text: PDFPDF

For the MDA approach to software development to become a reality for distributed enterprise systems, MDA needs to provide both modeling support for middleware-specific concerns and tool support for helping developers refine their designs along such concern-dimensions ...
expand
Enhancing distributed object middleware qualities
Arvind S. Krishna
Pages: 320-321
doi>10.1145/1028664.1028783
Full text: PDFPDF
Identification of reusable components within an object-oriented software system using algebraic graph theory
Spiros Xanthos
Pages: 322-323
doi>10.1145/1028664.1028784
Full text: PDFPDF

A novel method for identifying dense communities of classes (clusters) within an Object-Oriented system has been developed. Such communities might possibly imply relevance of functionality and thus be used as Reusable Components. The term "Reusable Components" ...
expand
Automatic identification of common and special object-oriented unit tests
Tao Xie
Pages: 324-325
doi>10.1145/1028664.1028785
Full text: PDFPDF

Common and special test inputs can be created to exercise some common and special behavior of the class under test, respectively. Although manually created tests are valuable, programmers often overlook some special test inputs. If programmers write ...
expand
Reverse engineering of UML specifications from java programs
Martin Keschenau
Pages: 326-327
doi>10.1145/1028664.1028786
Full text: PDFPDF

In the present work, we outline a reverse engineering approach for UML specifications in form of class diagrams from Java bytecode. After a brief introduction to the subject we present some analyses which go beyond mere enumeration of methods and fields. ...
expand
Empirical investigation of the impact of extreme programming practices on software projects
Lucas Layman
Pages: 328-329
doi>10.1145/1028664.1028787
Full text: PDFPDF

Extreme Programming (XP) is an agile software development methodology composed of several practices that purportedly yield high quality and high customer satisfaction. However, there has been little formal investigation of these claims. We conduct empirical, ...
expand

Powered by The ACM Guide to Computing Literature


The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2019 ACM, Inc.
Terms of Usage   Privacy Policy   Code of Ethics   Contact Us