Pages:  1 2 3 4 5
Website
  Created - 2012/11/08 20:27:15+0000

My website mattunderscore.com is an attempt to demonstrate (show off) what I can do and share what I spend my time on. It also allows me to practice and experiment with technologies for dynamically generating web pages. I used to work at a company that used an internally developed application server and libraries to script server side behavior using Tcl scripts. These technologies are not widely used so I thought it would be a good idea to become familiar with more recognized technologies. Server side... read more

EbChecker
  Created - 2012/11/08 20:27:15+0000

I graduated from the University of Southampton with a Master's degree in Software Engineering. My dissertation presented an automata-based explicit model checker for Event-B which I have taken to calling EbChecker. Event-B is based on the B Method and is a formal specification language. I implemented the model checker as a plugin for Rodin , a development environment for Event-B based on Eclipse . The code is available from a BitBucket repository, https://bitbucket.org/mattunderscorechampion/modelcheck... read more

LTL2BA4JOSGi
  Created - 2012/11/08 20:27:15+0000

Sorry, I know that LTL2BA4JOSGi is a mouthful. It is not all my fault. Someone wrote a tool called ltl2ba for translating LTL formulae to Buchi automata. They implemented it in C. Someone else took this and constructed a JNI for it called LTL2BA4J . I used this in my model checker but I found I needed to make changes to load the native C library. I decided to go all the way and turn it into an OSGi bundle. This allows the OSGi framework to resolve the library to use and allows the model checker to declare... read more

AspectT
  Created - 2012/11/08 20:27:15+0000

Not long after learning about Tcl's trace command I first heard about aspect-oriented programming. I saw some similarities between the two but the friend who told me about aspect-oriented programming wasn't so keen. I implemented some code that took advantage of trace to measure the execution time of a procedure. Trace added procedures to execute when entering or leaving the timed procedure. These were used to modify a stack that contained the start times of the procedures being watched. I intende... read more