Home Demos Forum Research Guide
Viewing topic in forum 'announcements'
back to topic list

Dana v173
Dana v173 provides our first standard library release of PAL, our emergent software framework.

Perception, Assembly and Learning

Our little research team is always working on ever more advanced emergent and self-aware software systems. We're looking to a future in which creating the right software is as easy as asking your computer what you want it do to, just like you'd talk to a person.

To do this, software needs to be able to reason about itself, to understand its own behaviour and adjust that behaviour until it's doing exactly what it's being asked to do in the best way it can. We call this idea emergent software - programs that gradually learn what's good and bad until they figure out the solution.

The core framework that powers this part of our research is now stable enough that we've added it to Dana's standard library. We call it PAL - for Perception, Assembly and Learning, the three key processes that emergent software needs to go through to reach a goal.

The best part: thanks to the component-based programming paradigm, PAL can run any regular Dana program, with no modifications.

To enable PAL to actually learn, components just need to provide a sense of what's good and bad relative to the goal of the software. We call this perception. To do this, all a component needs to do is declare a required interface of type pal.Perception.

Using this API a component can report perception data in the form of metrics and events that describe how the system is feeling and how the world around it currently looks.

It really is that simple, but you can read a little more detail about using PAL at http://www.projectdana.com/dana/guide/doku.php?id=pal-guide

We haven't yet included any machine learning implementations to go with PAL in the standard library, but we have provided an easy to use template program from which you can easily write your own machine learning algorithms to learn about and control emergent software in real time.

As more of our research systems become stable we'll add those to Dana's standard library too, but we're also pleased to note that you can view some of our most recent research-in-progress code at http://rex.projectdana.com

For those of you who'd like a more detailed insight into how PAL works you can read one of our research papers on the topic - either our recent publication at IEEE SASO or our (soon to be available!) paper at OSDI 2016.

As always, get in touch with comments and questions here on our forum.

Happy coding :-)
by barry on 2016-10-01 10:38:42 (0 replies)

© Francis Research Ltd. 2017