Implementing concurrency in a process-based language
暂无分享,去创建一个
Object-oriented programming has been very successful for general purpose programming tasks for almost two decades. It is hard to imagine another paradigm replacing it. But software systems are becoming ever more complex and hard to maintain. Adapting to new hardware will create further problems. The current combination of complex scope rules, inheritance, aspects, genericity, and multithreading cannot provide the flexibility needed for the effective implementation, maintenance, and refactoring of parallel and distributed systems. We believe it is time for a change of approach to software development. Software must be modified to match today's needs but must not place even greater strain on software developers. The prevailing software development practice makes management and maintenance of software unnecessarily difficult. We describe an approach that we believe will reduce the difficulties of software development and maintenance. The programming language Erasmus is being developed by Peter Grogono at Concordia University, Canada and Brian Shearing at The Software Factory, UK. Erasmus is based on communicating processes organized within cells that communicate through message passing. This thesis describes issues related to the implementation of concurrency in Erasmus. In particular, it explains how the meaning of a program can be separated from its deployment onto multiprocessor/distributed systems. Through this approach, software investment may be preserved when new features are added or when functionality does not change but the environment does