144

Patterns for Small Machines

Tutorial 170 minutes

Using Objects in Systems with Limited Memory

Charles Weir

 

Are you cabined, cribbed, confined?

Whether you're working with Smart cards, PDAs, or workstations or supercomputers, you can still often find that the promises of infinite memory haven't been fulfilled. Like Macbeth, you're still constrained by your environment. Memory, whether RAM memory, ROM memory or disk space, is still a scarce resource for many projects.

Yet, unfortunately, much of early OO development was on workstations. And on workstations the joys of paging and of large amounts of RAM meant that the language designers and methodologists could often ignore memory limits. So many of the memory-saving techniques - even when we can remember them - don't appear to work well with OO languages.

But help is at hand. Using an approach based on design patterns, the authors Charles Weir and James Noble have collected a large number of the techniques used to save memory, and have discovered how to implement them in OO environments. Addison-Wesley will publish their book on the subject later this year.

 

The Smaller Systems Tutorial

This tutorial, based on that work, will teach some of the most important of these techniques. You'll learn the tricks used by the most successful designers to save memory, and find out how to implement them in practice. It won't be just listening either; there will be workshop exercises for you to do in groups, and we encourage comments and questions from everyone attending.

 
 

Topics

The tutorial will discuss the following patterns, and mention others. A handout will provide a short summary of all the patterns discussed and many others.

Development Process

Memory Budget

Architecture

Partial Failure

Allocation

Fixed Allocation
Variable Allocation

Data Structures

Multiple Representation

Compression

Packed Data

Secondary Storage

Program Chaining
Data Chaining

 

Who will benefit?

You will ― if you're

Experience of working with memory-limited systems will be helpful but not essential.


 

The Presenter

Charles Weir (cweir@cix.co.uk) is an independent software consultant specialising in object-oriented architecture. He has provided on-site mentoring and design assistance to development teams in the fields of telecommunications, information systems, manufacture, statistical analysis and banking.

Recently he has been helping define the architecture and implementation of smart mobile phones, which has inspired an interest in techniques for working with very restricted systems.


144

Charles has taught many courses on Object-Oriented design and Implementation, and has led several active-learning sessions at the UK Object Technology series of conferences.