Wednesday 29

Honorable Squires - Supportive Tools and Environment for a high availability Smalltalk application at AMD

9:00 am - 10:00 am

By: Torsten Happ.Torsten earned a degree in electrical engineering at Technical University, Ilmenau. He joined AMD Saxony in June, 2000 as a software engineer with software development as well as equipment automation experience from previous companies. Torsten has been working for several years as developer for equipment interfaces. Today Torsten works as project manager and developer for the CEI baseline project. He works closely with all team members and the technical lead to reflect all common components and behaviours in this framework application that forms that base for each individual interface. Comment: There are 2 co-authors: Uwe Liebold (AMD Saxony) and Taylan Kraus-Wippermann (Georg Heeg e K).

In this lecture, we will present our approach to address the demand for high availability for AMDs equipment interface applications, which control the production machines and connect them to the factory control systems. In the presentation, we will show our approach to increase the uptime of these applications by using a number of supporting tools and discuss the results. Observing the running application on a deep level and recording interface activity in a way, that allows a later reproduction of a status, are such strategies. We will discuss our actions, results and ideas for improving the supporting web around our application.

Equipment interface applications are key components in AMDs Factory Automation Infrastructure and running in several hundred instances. These components are customized forms of a common framework – the CEI Baseline. They are expected to run continuously with an absolute minimum of restarts and with minimum testing required in the productive environment.

Automated and manual Testing has significantly reduced the number of bugs and increased stability. However this exposes those more rare but much more complex error situations to the customer's attention. Often the complexity of these issues makes analysis difficult or impossible and at times several occurrences of an issue are necessary to find the cause of the problem. The deployment of patch and update versions is currently another disturbing factor in the desired continuous operation of an equipment interface.

Exupery, a Next Generation Compiler Written in Smalltalk

10:30 am - 11:15 am

By: Bryce Kampjes. Bryce Kampjes has worked on a range of commercial systems from financial services to telemetry. Over the last few years he's been writing Exupery, first as an exercise in designing and building complex software, then later as a project that's slowly becoming practical.

Exupery is a native compiler for Squeak written in Squeak that's trying to be at least twice as fast as Self. This talk will outline the overall design and where Exupery currently is. It will also focus on why Smalltalk is the right language for next generation Smalltalk compilers.

Working Smarter, Not Harder: Development Tools, Processes and Automation

11:15 am - 12:00 pm

By: Angela Wilson. Northwater Capital Management Inc. is a world-class investment management firm applying advanced financial and systems engineering to assist major institutions in building optimal portfolios. Northwater manages over US$9 billion in assets and employs 89 professionals with offices in Toronto, New York and Chicago. Angela Wilson has been an Associate Software Developer of Northwater's systems division since 2002. Her expertise in computer science and object-oriented design supports the firm in developing NewBlox II(c), Northwater's internal asset management tool. Angela supports the firm by providing unique systems solutions for Northwater's innovative investment products while taking into consideration the impact on other aspects of the business. Angela holds a Bachelor of Mathematics, Double Honours Computer Science and Combinatorics & Optimization from the University of Waterloo. She has previously presented at Smalltalk Solutions 2005.

At Northwater we use GemStone/S with VA Smalltalk to deliver a rich application supporting our internal business clients. In this session I will share some of the approaches we've taken at Northwater, what's worked, and what's changed over the years.

We've created numerous specialized development utilities and we're continually refining our processes. The ability to extend the development environment has been instrumental in leveraging the productivity of our small group and improving the quality of the software we deploy. I will present some of the many tools used at Northwater, our development processes that depend on some of these tools, and the various forms of automation that pull it all together.

Advanced Object-Relational Mapping with Glorp

1:30 pm - 2:15 pm

By: Alan Knight. Alan Knight is the technical architect for Cincom Smalltalk and lead on the open source GLORP project for object-relational mapping. Within Cincom he has been involved with many aspects of the VisualWorks implementation, including web serving, Store, deployment, and introducing Subsytems to control image startup and configuration. Before joining Cincom he was chief architect for the TOPLink family of products, and a member of the Sun expert groups on EJB 2.0 and JDO. He is co-author of Mastering ENVY/Developer (Cambridge, 2001) and has written and spoken at conferences extensively. He lives in Ottawa, Canada.

Glorp is an open-source library for mapping Smalltalk objects to and from relational databases. This talk will give a brief overview of Glorp architecture and then explore some of these advanced features, with a motivating example of implementing a "Hyperactive Record" facility. Topics will include the use of functions and subselects in queries and in mappings, mappings to collections of simple types and to dictionaries, query optimizations, dynamically reading and manipulating database schema and descriptor information, and mapping to non-trivial schemas. We demonstrate trivially modifying the Seaside "Sushi Store" demo to use relational persistence, and integrating with other metadata systems, such as Magritte.