purplecat: Hand Drawn picture of a Toy Cat (Default)
Because I have just spent a day and a half doing this and I need to vent my frustrations somehow. Also, I will need to do this on my work machine at some point and so I need to type my notes out neatly somewhere while I still vaguely recall what all the increasingly frustrated scrawls actually mean. In theory this might also help others but I suspect that a) the problems were specific to my setup and b) since I didn't save the actual error messages no one will ever find this on a Google.

The below is probably not for the faint hearted, but feel free to come along for the ride and assume actually I didn't know much more about what I was doing than you do.

What was I trying to do? )

Installing Groovy ROS: Trials and Tribulations )

Then I stopped for lunch on the second day.

I have turtles )

I'm trying to work out of this is the worst installation experience I've been through. It's certainly the worst for at least a decade I should say. I'm moderately impressed that I actually managed to figure my way through to the end of it, although Google, the ROS troubleshooting hints, and answers.ros.org were definitely my friends.
purplecat: Hand Drawn picture of a Toy Cat (Default)
Despite being full, the powers that be have managed squeeze another person into my office. Who promptly revealed his evil nature by introducing me to Desktop Tower Defence. I have just managed to complete the medium level without letting any creeps escape.

For those worried about the way we are spending your tax money, I hasten to add that I have also squished several bugs this week, implemented communication, and worked out how to get my agent threads to wait. Next week I will try to increase the expressivity of the property specification language. I also went to a workshop on how to get grants from EPSRC but I can see you may not think your taxes well spent in finding out how to get more of you tax money to spend.


Nov. 27th, 2007 10:28 am
purplecat: Hand Drawn picture of a Toy Cat (Default)


Java inheritance

Emotional blackmail

Housework backlog

In no particular order
purplecat: Hand Drawn picture of a Toy Cat (agents)
Several people now have told me these posts are entirely jibberish however I want to document the progress of our thought on the project. It's all under the cut but I don't suggest you read it unless you are actually interested in agents, programming and/or model checking.

And now the science bit )

On hearing that a programming language was named after her G. immediately asked if she could program in it. I baulked a bit since its a long way off being anything approaching a sensible teaching language. In the end I said she could once she could program, confident in the knowledge this is probably several years away. With some satisfaction, a few days later when we attended a Curriculum Morning a the school, B. pointed out the note that listed "programming" in the IT curriculum for the summer term this year...
purplecat: Hand Drawn picture of a Toy Cat (agents)
Once again an AIL agent has convinced itself that it has picked something up. Only this time it convinced itself in Java rather than in Maude.

This is handy since it means I have something to report in our project meeting on wednesday


Sep. 13th, 2007 04:48 pm
purplecat: Hand Drawn picture of a Toy Cat (agents)
I'm in a horrendous muddle about stacks. Java lets you do all sorts of cunning and unforgivable things with stacks (like take things off the bottom of them, or shove things onto the bottom of them). As a result my program appears to be full of stacks and stacks of stacks none of which have tops or bottoms where I think they are.

Then I try to print them out to see what they look like and I'm not even printing them in the right order so I'm still confused about what is at the top of the stack and what is at the bottom of the stack.

SENSIBLE languages don't let you do anything bad with stacks as a result of which you never have to worry about which is the bottom and which is the top. This whole stack confusion thing is coming as something of a shock.
purplecat: Hand Drawn picture of a Toy Cat (agents)
People are always telling me that my usual languages, like Prolog, are silly or, at the very least, impractical, but Java has just got me flummoxed.

I have a list (of logical formulae as it happens) and I want to know if my agent believes everything in the list. To complicate matters the the list can contain variables so the agent might believe them in different ways. So my list might be - do I believe there is something, x say, such that 1) x is blue and 2) x has four legs and the answer might be "blue cow is blue and blue cow has four legs"* but I might also believe that the sky is blue and any number of other things are blue. The object is to find something that I believe is blue and which I also believe has four legs.

This is incredibly easy in Prolog. I just go through the list of formulae one at a time creating a candidate answer, if the answer fails at any point then the programming language automatically back tracks up the list looking for alternatives.

Java doesn't do back tracking. I'm going to have to do something complicated involving keeping track of where I am in the list and which of the alternative candidates I have explored and then zipping back and forth in a sensible fashion. I've appealed to B. who is supposed to be a bit of a dab hand with imperative languages and he looked a bit blank and then started talking about custom iterators.

* with apologies to those of you don't watch CBeebies.

AIL Lives

Jun. 22nd, 2007 06:13 pm
purplecat: Hand Drawn picture of a Toy Cat (agents)
I spent the first 3 months on this job designing AIL * - a low level BDI programming languages. Then I wrote a paper about the design and got sent to Hawaii.

I have also spent some time implementing AIL using the Maude Rewriting Logic. Today the first ever AIL agent executed - it wanted to pick something up, it had a plan to pick something up, and it did so (meaning it changed its beliefs so it believed it picked something up, it didn't actually pick something up). You heard it here first folks!!!

* short for Agent Infrastructure Layer. Since one of the other languages we are interested in is an interpreter for AgentSpeak called Jason (which has a painting of the golden fleece as a logo) I briefly considered trying to change the name so the acronym was GRAIL and then going on an Arthurian/Mythology theme. However my boss's eyes rather glazed over at that point so I thought it best to leave well alone.
purplecat: Hand Drawn picture of a Toy Cat (agents)
"Dear Author(s),

Thank you very much for submitting a paper to CLIMA-VIII. We are
delighted to let you know that your paper is accepted..."

This has to be one of the easiest papers I've ever written. Michael is keen on the use of groups to form multi-agent systems. Key idea: an agent is a group and a group is an agent - all agents can contain and be contained by other agents. This lets groups of agents have plans and goals external to the agents that compose them. Anyway I wrote him some inference rules explaining how this might work in what is known as the operational semantics of a typical BDI (Beliefs, Desires, Intentions) programming language and then left for Hawaii. Sometime while I was away he and his PhD student fleshed it out with some text and an example in a language called AgentSpeak and Presto! one more publication. They even put me down as first author (which means I really should read the paper!!).

"As the authors admit, the whole idea would rather lack a concrete justification in the paper." - ah! the anonymous referees spotted that then!
purplecat: Hand Drawn picture of a Toy Cat (Default)
I realise this probably means very little to most of you but I just wanted to vent my frustration at the way polymorphism and module hierarchies work with the Maude language.

Or at least with the way it appears to work based on my "dip in and out" approach to reading the manual.

I won't go into details, but every time I introduce a new rule I appear to have to go and redefine a dozen constants in various module imports. This is slowing down progress on the the working implementation I promised my PI for the project meeting a week today (although, to do him credit, the look on his face when I said I'd have a working implementation a week Monday, suggested he thought I was in cloud cuckoo land).


purplecat: Hand Drawn picture of a Toy Cat (Default)

April 2019

 1 234 5 6
7 8 91011 12 13
14 15 16 17 18 19 20


RSS Atom


Style Credit

Expand Cut Tags

No cut tags