Search For:

Displaying 1-50 out of 75 total
Towards a Pattern Language for Object Oriented Design
Found in: Technology of Object-Oriented Languages, International Conference on
By James Noble
Issue Date:November 1998
pp. 2
Since the publication of the Design Patterns book, a large number of design patterns have been identified and codified. Unfortunately, these patterns are mostly organised in an ad hoc fashion, making it hard for programmers to know which pattern to apply t...
 
Natural Creation
Found in: Technology of Object-Oriented Languages, International Conference on
By James Noble
Issue Date:November 1999
pp. 78
Objects must be created throughout object-oriented programs. Programming languages provide special facilities to create and initialize objects, and creational design patterns allow these facilities to be used more flexibly. The Natural Creation pattern des...
 
Point/Counterpoint
Found in: IEEE Software
By Peter Sommerlad, James Noble
Issue Date:July 2007
pp. 68-71
No summary available.
 
Objects and Constraints
Found in: Technology of Object-Oriented Languages, International Conference on
By James Noble
Issue Date:November 1998
pp. 75
An object oriented program is a set of communicating encapsulated objects, while a constraint program is a set of variables linked by constraints. This difference in underlying models makes it difficult to combine objects and constraints in the same progra...
 
Applying Design Patterns
Found in: Technology of Object-Oriented Languages, International Conference on
By James Noble, John Potter
Issue Date:November 1997
pp. 355
No summary available.
   
Self-Organizing Roles on Agile Software Development Teams
Found in: IEEE Transactions on Software Engineering
By Rashina Hoda,James Noble,Stuart Marshall
Issue Date:March 2013
pp. 422-444
Self-organizing teams have been recognized and studied in various forms—as autonomous groups in socio-technical systems, enablers of organizational theories, agents of knowledge management, and as examples of complex-adaptive systems. Over the l...
 
Knowledge Management in Distributed Agile Software Development
Found in: 2012 Agile Conference
By Siva Dorairaj,James Noble,Petra Malik
Issue Date:August 2012
pp. 64-73
Software development teams need highly valuable knowledge to carry out knowledge-intensive development activities. Agile teams are cross-functional teams that promote sharing of project-specific knowledge through frequent face-to-face interaction, effectiv...
 
How Much Architecture? Reducing the Up-Front Effort
Found in: Agile India
By Michael Waterman,James Noble,George Allan
Issue Date:February 2012
pp. 56-59
A key part of software architecture is the design of the high level structure of a software system -- an exercise in planning ahead. Agile software development methods discourage planning ahead, encapsulated by the Agile Manifesto philosophy
 
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
Found in: Asia-Pacific Software Engineering Conference
By Ewan Tempero, Craig Anslow, Jens Dietrich, Ted Han, Jing Li, Markus Lumpe, Hayden Melton, James Noble
Issue Date:December 2010
pp. 336-345
In order to increase our ability to use measurement to support software development practise we need to do more analysis of code. However, empirical studies of code are expensive and their results are difficult to compare. We describe the Qualitas Corpus, ...
 
Organizing self-organizing teams
Found in: Software Engineering, International Conference on
By Rashina Hoda,James Noble,Stuart Marshall
Issue Date:May 2010
pp. 285-294
Agile teams are described as
 
Towards Automating Class-Splitting Using Betweenness Clustering
Found in: Automated Software Engineering, International Conference on
By Keith Cassell, Peter Andreae, Lindsay Groves, James Noble
Issue Date:November 2009
pp. 595-599
Large, unwieldy classes are a significant maintenance problem. Programmers dislike them because the fundamental logic is often obscured, making them hard to understand and modify. This paper proposes a solution - a semi-automatic technique for splitting la...
 
Towards end-user web software visualization
Found in: Visual Languages and Human-Centric Computing, IEEE Symposium on
By Craig Anslow, James Noble, Stuart Marshall, Ewan Tempero
Issue Date:September 2008
pp. 256-257
Software visualization has always been expensive, special purpose, and hard to program. Most of the existing software visualization tools require too much time for end-user developers to learn and make effective use of. We are currently building a web soft...
 
Agile Development Iterations and UI Design
Found in: AGILE Conference
By Jennifer Ferreira, James Noble, Robert Biddle
Issue Date:August 2007
pp. 50-58
Many agile projects require user interaction (UI) design, but the integration of UI design into agile development is not well understood. This is because both agile development and UI design are iterative ? but while agile methods iterate on code with iter...
 
Scoped Types for Real-Time Java
Found in: Real-Time Systems Symposium, IEEE International
By Tian Zhao, James Noble, Jan Vitek
Issue Date:December 2004
pp. 241-251
A memory model based on scoped areas is one of the distinctive features of the Real-Time Specification for Java (RTSJ). Scoped Types ensure timely reclamation of memory and predictable performance. The price to pay for these benefits is an unfamiliar progr...
 
The XP Customer Role in Practice: Three Studies
Found in: Agile Development Conference/Australasian Database Conference
By Angela Martin, Robert Biddle, James Noble
Issue Date:June 2004
pp. 42-54
The Customer is the only non-developer role in eXtreme Programming (XP). The Customer's explicit responsibilities are to drive the project, providing project requirements (user stories) and quality control (acceptance testing): unfortunately the customer m...
 
Snapshot Query-Based Debugging
Found in: Software Engineering Conference, Australian
By Alex Potanin, James Noble, Robert Biddle
Issue Date:April 2004
pp. 251
Object-oriented programs, when executed, produce a complex webs of objects and references between them, generally referred to as object graphs. These object graphs are difficult to design correctly and even more difficult to debug if incorrect. Unfortunate...
 
Reflections on Remote Reflection
Found in: Australasian Computer Science Conference
By Michael Richmond, James Noble
Issue Date:February 2001
pp. 163
The Java programming language provides both reflection and remote method invocation: reflection allows a program to inspect itself and its runtime environment, remote method invocation allows methods to be invoked transparently across a network. Unfortunat...
 
Visualizing the Structure of Object-Oriented Systems
Found in: Visual Languages, IEEE Symposium on
By Trent Hill, James Noble, John Potter
Issue Date:September 2000
pp. 191
Executing object-oriented programs have a complex structure consisting of numerous objects connected by inter-object references. This structure, called the program's object graph, is hard to understand, and this complicates learning, teaching, debugging an...
 
Conglomeration ? Realizing Alias Protection
Found in: Australasian Computer Science Conference
By John Potter, James Noble
Issue Date:February 2000
pp. 189
Composition and aggregation are widely used in UML analysis and design models to represent part-whole structures. Neither kind of association places any restriction on how the parts may be used from outside the whole object; this can lead to a number of pr...
 
Object Ownership for Dynamic Alias Protection
Found in: Technology of Object-Oriented Languages, International Conference on
By James Noble, David Clarke, John Potter
Issue Date:November 1999
pp. 176
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breaching objects' encapsulation boundaries, these aliases can make programs hard to understand and especially hard to debug. We propose using an explicit, run-t...
 
Integrating Metric Visualization into a Commercial User-Interface Builder
Found in: Computer-Human Interaction, Australasian Conference on
By James Noble
Issue Date:December 1998
pp. 200
Interactive Metric Visualization gives interface designers information about the usability of their designs, by overlaying usability information into their designs. To date, visualizations have been provided by special-purpose prototype software. We descri...
 
Change Detection for Aggregate Objects with Aliasing
Found in: Software Engineering Conference, Australian
By James Noble, John Potter
Issue Date:October 1997
pp. 98
Object oriented systems often need to detect when objects have changed. Due to aggregation and aliasing, programmers must explicitly identify changes to objects in most object oriented systems. We describe a program monitoring technique which takes account...
 
Visualizing Alignment with Adaptive Gridlines
Found in: Visual Languages, IEEE Symposium on
By James Noble
Issue Date:April 1997
pp. 179
Adaptive Gridlines visualize alignment in graphic designs for diagrams, documents, and user interfaces. Adaptive gridlines are particularly useful for drawing the attention of users who are not trained graphic designers to the alignment in their designs.
 
Scribble: A Diagram Editor with a Minimal Interface
Found in: Computer-Human Interaction, Australasian Conference on
By James Noble
Issue Date:November 1996
pp. 0162
Existing CASE tool diagram editors have large, complex, and sophisticated graphical user interfaces. Because of their size, these interfaces are difficult to learn and hard to use. A minimal interface for a diagram editor provides only the essential behavi...
 
Interactive Design Metric Visualisation: Visual Metric Support for User Interface Design
Found in: Computer-Human Interaction, Australasian Conference on
By James Noble, Larry L. Constantine
Issue Date:November 1996
pp. 0213
Interactive metric visualization is a novel approach providing complex, multi-dimensional feedback on the effects of layout changes in user interface designs. A graphical overlay, based on the underlying rationale of quantitative design metrics, provides i...
 
SourceVis: Collaborative software visualization for co-located environments
Found in: 2013 First IEEE Working Conference on Software Visualization (VISSOFT)
By Craig Anslow,Stuart Marshall,James Noble,Robert Biddle
Issue Date:September 2013
pp. 1-10
Most software development tools and applications are designed from a single-user perspective and are bound to the desktop and Integrated Development Environments (IDEs). These tools and applications make it hard for developers to analyse and interact with ...
   
A tile-based editor for a textual programming language
Found in: 2013 First IEEE Working Conference on Software Visualization (VISSOFT)
By Michael Homer,James Noble
Issue Date:September 2013
pp. 1-4
“Jigsaw puzzle” programming environments manipulate programs primarily by drag-and-drop. Generally these environments are based on their own special-purpose languages, meaning students must move on to another language as their programs grow. Tiled Grace is...
   
The XP Customer Team: A Grounded Theory
Found in: AGILE Conference
By Angela Martin, Robert Biddle, James Noble
Issue Date:August 2009
pp. 57-64
The initial definition of XP resulted in many people interpreting the on-site customer to be a single person. We have conducted extensive qualitative research studying XP teams, and one of our research questions was “who is the customer”? We found that, ra...
 
XP Customer Practices: A Grounded Theory
Found in: AGILE Conference
By Angela Martin, Robert Biddle, James Noble
Issue Date:August 2009
pp. 33-40
The Customer is a critical role in XP, but almost all XP practices are presented for developers by developers. While XP calls for Real Customer Involvement, it does not explain what XP Customers should do, nor how they should do it. Using Grounded Theory, ...
 
Iterators and Encapsulation
Found in: Technology of Object-Oriented Languages, International Conference on
By James Noble
Issue Date:June 2000
pp. 431
Iterators are an important object-oriented design pattern, providing sequential access to the state stored in other objects. Precisely because iterators need to access the state of other objects, iterators' design can be at odds with the encapsulation prov...
 
Aspects of Synchronization
Found in: Technology of Object-Oriented Languages, International Conference on
By David Holmes, James Noble, John Potter
Issue Date:November 1997
pp. 2
Aspect oriented programming promotes the separation of the different aspects of a system into their natural form. Synchronisation is an important aspect of concurrent object-oriented systems, but treating synchronisation as a single monolithic aspect leads...
 
Should software conferences respect software?
Found in: Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity (SPLASH '13)
By James Noble, Jan Vitek, Shriram Krishnamurthi
Issue Date:October 2013
pp. 71-72
A new trend in software engineering and programming language conferences is to investigate the reproducibility of research results. This trend has led to the creation of Artifact Evaluation Committees at several conferences, including OOPSLA this year. Wha...
     
The need for capability policies
Found in: Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs (FTfJP '13)
By James Noble, Sophia Drossopoulou
Issue Date:July 2013
pp. 1-7
The object-capability model is one of the industry standards adopted for the implementation of security policies for web-based software. Object-capabilities in various forms are supported by programming languages such as E, Joe-E, Newspeak, Grace, and the ...
     
Modules as gradually-typed objects
Found in: Proceedings of the 7th Workshop on Dynamic Languages and Applications (DYLA '13)
By Andrew P. Black, James Noble, Kim B. Bruce, Michael Homer
Issue Date:July 2013
pp. 1-8
Grace is a gradually typed, object-oriented language for use in education. Grace needs a module system for several reasons: to teach students about modular program design, to organise large programs, especially its self-hosted implementation, and to provid...
     
Seeking grace: a new object-oriented language for novices
Found in: Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE '13)
By Amy Ruskin, Andrew P. Black, James Noble, Kim B. Bruce, Michael Homer, Richard Yannow
Issue Date:March 2013
pp. 129-134
Grace is a new object-oriented language that supports a variety of approaches to teaching programming. It integrates accepted new ideas in programming languages into a simple language that allows students and teachers to focus on the essential complexities...
     
Grace: the absence of (inessential) difficulty
Found in: Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software (Onward! '12)
By Andrew P. Black, James Noble, Kim B. Bruce, Michael Homer
Issue Date:October 2012
pp. 85-98
We are engaged in the design of a small, simple programming language for teaching novices object-oriented programming. This turns out to be far from a small, simple task. We focus on three of the problems that we encountered, and how we believe we have sol...
     
Patterns as objects in grace
Found in: Proceedings of the 8th symposium on Dynamic languages (DLS '12)
By Andrew P. Black, David J. Pearce, James Noble, Kim B. Bruce, Michael Homer
Issue Date:October 2012
pp. 17-28
Object orientation and pattern matching are often seen as conflicting approaches to program design. Object-oriented programs place type-dependent behavior inside objects and invoke it via dynamic dispatch, while pattern-matching programs place type-depende...
     
SourceVis: a tool for multi-touch software visualization
Found in: Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces (ITS '11)
By Craig Anslow, James Noble, Robert Biddle, Stuart Marshall
Issue Date:November 2011
pp. 264-265
Most software visualization systems and tools are designed from a single-user perspective and are bound to the desktop and Integrated Development Environments (IDEs). These design decisions do not allow users to easily navigate through software visualizati...
     
Grounded theory for geeks
Found in: Proceedings of the 18th Conference on Pattern Languages of Programs (PLoP '11)
By James Noble, Rashina Hoda, Stuart Marshall
Issue Date:October 2011
pp. 1-17
Grounded Theory (GT) is gaining popularity as research method in Software Engineering; however, it is still not widely understood. We present some patterns based on the use of GT to study Software Engineering contexts including our own experiences of apply...
     
Panel: designing the next educational programming language
Found in: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion (SPLASH '10)
By Andrew Black, James Noble, Kim B. Bruce
Issue Date:October 2010
pp. 201-204
Object-oriented programming is widely taught in introductory computer science courses, however no existing objectoriented programming language is "the obvious choice" for a teaching language. This makes it harder to transfer skills, techniques, and teachin...
     
Panel: designing the next educational programming language
Found in: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion (SPLASH '10)
By Andrew Black, James Noble, Kim B. Bruce
Issue Date:October 2010
pp. 201-204
Object-oriented programming is widely taught in introductory computer science courses, however no existing objectoriented programming language is "the obvious choice" for a teaching language. This makes it harder to transfer skills, techniques, and teachin...
     
Tribal ownership
Found in: Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA '10)
By James Noble, Nicholas Cameron, Tobias Wrigstad
Issue Date:October 2010
pp. 618-633
Tribal Ownership unifies class nesting and object ownership. Tribal Ownership is based on Tribe, a language with nested classes and object families. In Tribal Ownership, a program's runtime object ownership structure is characterised by the lexical nesting...
     
Agility in context
Found in: Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA '10)
By James Noble, Philippe Kruchten, Rashina Hoda, Stuart Marshall
Issue Date:October 2010
pp. 74-88
Evangelists for Agile methods strongly encourage all projects to follow every practice of their chosen method. Based on a Grounded Theory study involving 40 participants at 16 organizations, and corroborated by 4 independent case studies, we argue that dev...
     
How much is just enough?: some documentation patterns on Agile projects
Found in: Proceedings of the 15th European Conference on Pattern Languages of Programs (EuroPLoP '10)
By James Noble, Rashina Hoda, Stuart Marshall
Issue Date:July 2010
pp. 1-13
Agile methods advocate "just enough" documentation on Agile projects. Unfortunately, there are no clear guidelines on what is "just enough" documentation. We describe a set of patterns to help Agile software development teams define "just enough" in their ...
     
Balancing acts: walking the Agile tightrope
Found in: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '10)
By James Noble, Rashina Hoda, Stuart Marshall
Issue Date:May 2010
pp. 5-12
Self-organizing teams are one of the critical success factors on Agile projects - and yet, little is known about the self-organizing nature of Agile teams and the challenges they face in industrial practice. Based on a Grounded Theory study of 40 Agile pra...
     
JavaCOP: Declarative pluggable types for java
Found in: ACM Transactions on Programming Languages and Systems (TOPLAS)
By Chris Andreae, Daniel Marino, James Noble, Matthew Esquivel, Shane Markstrum, Todd Millstein
Issue Date:January 2010
pp. 1-37
Pluggable types enable users to enforce multiple type systems in one programming language. We have developed a suite of tools, called the JavaCOP framework, that allows developers to create pluggable type systems for Java. JavaCOP provides a simple declara...
     
Wikipublisher: a print-on-demand Wiki
Found in: Proceedings of the 5th International Symposium on Wikis and Open Collaboration (WikiSym '09)
By Brenda Chawner, Craig Anslow, Donald Gordon, James Noble, John Rankin
Issue Date:October 2009
pp. 1-2
Web and print exist as two solitudes: printed web pages often disappoint and converting print documents into good web pages is hard. A wiki makes it easy for authors to create rich web content, but is little help if readers wish to print the results. Wikip...
     
3rd workshop on assessment of contemporary modularization techniques (ACoM 2009)
Found in: Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications (OOPSLA '09)
By Alessandro Garcia, Claudio Sant'Anna, James Noble, Kevin Sullivan, Phil Greenwood, Thomas Cottenier, Yuanfang Cai
Issue Date:October 2009
pp. 715-716
Contemporary modularization techniques, such as Aspect-Oriented Programming and Feature-Oriented Programming, allow designers to improve changeability and adaptability. However, the impact of advanced modularization techniques on productivity and quality r...
     
OGJ gone wild
Found in: International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming (IWACO '09)
By James Noble, Nicholas Cameron
Issue Date:July 2009
pp. 1-10
Ownership types structure the heap, and can enforce encapsulation properties which improve security, provide more information for the programmer, and allow for better reasoning about programs. Ownership Generic Java (OGJ) implements ownership types using J...
     
Implementing relationships using Affinity
Found in: Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages (RAOOL '09)
By David J. Pearce, James Noble, Stephen Nelson
Issue Date:July 2009
pp. 5-8
OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object; two objects which are structurally identical are not considered equal. Thus, programmers who require a mo...
     
 1  2 Next >>