Ports, Protocols, and Processes: a Programming Paradigm?

Advanced Programming Specialist Group event

Thursday 22nd November 2007, 6.00pm

The Davidson Building,5 Southampton Street, London WC2 7HA. Nearest Underground stations Covent Garden, Charing Cross.

Professor Peter Grogono, Concordia University, Montreal, Quebec

The software industry needs systems that are large, complex, scalable, secure, distributed, easy to maintain and refactor, and that exploit concurrency naturally and efficiently. Meeting these needs requires a wide range of skills and tools. Ultimately, all software development depends on adequate programming languages. Programming language development is not keeping up with the increasing demands of the industry.

The Erasmus project is a radical approach to software development that builds on successes of the past. At its heart is a programming language whose basic building blocks are processes with ports rather than objects with methods. Processes reduce coupling and facilitate the evolution of software components.

Procedures emerge as a particular kind of process. Scalability is provided by cells, an abstraction mechanism designed to encapsulate subsystems of arbitrary size and complexity. Providing components with only the capabilities that they need enables security. Careful separation of concerns simplifies maintenance and refactoring.

The source code of an Erasmus program determines its meaning but not its pattern of execution. Moving code from a server to a client, or multiplexing access to a busy database, is not programming but metaprogramming. Refactoring does not change the behaviour of a program and should be performed, whenever possible, without touching source code.

Erasmus is an ambitious project that will take many years to complete. Many problems remain to be identified, clarified, and solved. In this talk, I will discuss preliminary results and plans for future research.

Free, but to gain admission please email your name to our Vice-Chairman, Dr Frank Martin, at - frank.martin@bcs.org

CPD Value:
Half Unit

View the slides for this event (PDF - 805 kb) 
View the presentation notes (PDF - 78 kb)