Pheasant

Introduction

The Sydkraft group is developing a technique which allows two-way communication on the low voltage power distribution line in order to increase the efficiency in distributing energy and increase services to energy customers. Sydkraft's research in this area was primarily initialized in the Intelligent Distribution Automation (IDA) project. Much of the research is now performed by EnerSearch, which is sponsored by, among others, Sydkraft, IBM,ABB Network Partner, and Preussen Elektra.


Purpose

A number of different communication platforms and technologies, such as LonWorks, GSM and TCP/IP are used. However, current research, conducted by, among others, Fredrik Ygge, strive to construct a uniform application development strategy. The principle architecture for this strategy is called PowerNet. To achive platform transparency, the PowerUp language was developed by Jan Bosch and Fredrik Ygge It is an object-oriented research language that allows a high-level approach to distributed object allocation. Due to the volatile nature of PowerUp, there is an obvious need for a development environment which supports modular modification and extension of the language, as it evolves. (See the PowerUp Terminology section for more details.)


Goals

The two main goals of the Pheasant project was:


Participants

The Pheasant project was carried out by five third-year students at the Software Engineering programme, at the University College of Karlskrona/Ronneby, Sweden. In clockwise order from bottom-left: Jim HÃ¥kansson, Magnus Thuresson, Piotr Gora, Johan Ramestam and Fredrik Hall.


PowerUp Terminology

LayOM (Layered Object Model)

LayOM is an extended object model which was devised by Jan Bosch. It is based upon a kernel consisting of states, methods and variables, and a set of layers which encapsulate the kernel. The layers may represent relations between objects and classes, but also other kinds of abstractions. The purpose of the layer is to filtrate incoming and outgoing messages, and thus affecting the behaviour of the object.

DCO (Delegating Compiler Object)

The Delegating Compiler Object approach extends the conventional compilation techniques by offering a second, structural decomposition dimension for compilers. An input text is not compiled by a single compiler, but by a group of cooperating DCOs. Each DCO is responsible for the entire compilation of some specific language construct. This is achieved by employing internal lexers and parsers, that together constructs the parse graph tree. Lexers and parsers are described in a notation similar to that of lex and yacc, with extensions to enable parser/lexer delegation and reuse through inheritance.

DOMS (Distributed Object Management System)

The Distributed Object Management System is a library containing communication subroutines with e.g. functionality to instantiate and move objects over the network. Parts of the DOMS are generated at compile time.

Komplett Pheasant-mailbox!