Monday 28 November 2011

Project Update

SO I've been pretty busy with my TDD courswork so the project has taken a back sit for a week. Arrgh panic!!! it's not going to match my gantt chart. oh wait, I never produced one as I thought knowing how long this was going to take me before starting was a silly idea. I've got 2 week sprints / iterations/ etc.. and I'm adding functionality each time, its till early and I gave myself til christmas to have a working prototype minimium viable product is probably a little bit fair to it, is a wireframe on an SQLite database.

Good news though, I've decided on a UI library... and the winner is greendroid! :) I thought I'd head this way when I first saw cyril demo it at Droidcon but for all intents and purposes I was still open to others, the demo app sold me though - think tour de flex, for a UI library.

So where to begin with my recent progress then.

Well, I have a database which i can edit, insert, remove records from. some basic error handling - still not sure about which route to follow with logging or exception handling yet so not too worried that at this moment in time.

UI - I've installed the GDCatalog and am playing around with that now, I had to learn to start using git, which took me a while. but from the basic functionality I've been exposed to I'm sold, after clonging a repo from the command line i figured I'd try eGit for eclipse, nice... Note to self (change 'HOME' environment variable so it stops cloning repos into muser/luke and starts clonging them into that massive new harddrive you got.)

As an aside to anyone who does install git and uses git-bash, did you find yourself just browing the hello-world folder. I liked that a lot. (as an aside...yeah right, who's actually going to read this.)

I have a meeting with my supervisor tomorrow which I'll use to agree what content to have shown off and working by christmas (next week) - I feel a few more late nights on the cards.

Tuesday 15 November 2011

Meetings and more

Just got out of my 3rd tutor meeting, he seemed confident I'm making progress and was happy to see some code for getting his head around the android paradigm, for want of a better word. I've explained the way id extended the ArrayAdapter to allow me to tie list items to instances of my Business Object though I can't help but think some sort of ORM would be really handy, thankfully I'm not dealing with a more complex set of user stories.  Feedback so far has been mainly positive my next task is to remove the logic to its own classes, i think a simple ProjectManagement interface will be the next step,  i need to start looking at a set of methods I can use across the application.

Friday 4 November 2011

Prime path coverage

Definition : a simple path is one where no node appears more than once with the exception of the first last node.

Prime path
Definition : a prime path from node Ni to Nj is a simple path that doesn't appear as a proper subpath of any other simple path.

N. B proper is used to describe a proper subset. So a subset that is not the entire set itself.

Wednesday 2 November 2011

Agreed deliverables

Attached


Meeting today

Agreed scheduled list of features,  deliverables for next meeting.


Sets and functions in rigorous systems

We are looking at propositional functions, any function that contains some element of boolean truth in the domain.  Admittedly I'm a bit confused by this. Why do we use propositional logic? Formal logic is used to design safety critical systems. It helps reach bug free code. A safety property could be a threshold for temperature in a reactor. Used in chip design since intelligence disaster. Logic such as ITL has lead to better software design...  It can control systems that are mutually exclusive. Lambda calculus semantic base for PL such as the shift to a functional paradigm. Type inference is built around formal logic. Getting a better understanding of the application of propositional logic and its relevance to ITL.

A proposition is an atomic entity true or false. Propositional variables represent specific propositions usually P and Q. meta variables such as f1 f2 f3... Can be assigned sets of true and false, consider f1 being a handle to (Q U P)  where U is union is a very limited character set.

Logical operators combine variables for expressions. Starting to look a lot like axoims we used last year.  BNF grammar can be used to describe propositional syntax.

f ::= true | P |! f | f1 AND f2.

Various transformation using de Morgans laws etc mean this is a suitable syntax for describing the entire syntax (nb ! Symbol denotes not on a limited charset and in upper case is a boolean and.)

Propositions can be satisfiable, valid or unsatisfied.

Valid means all possible inputs result in true. Satisfied means at least 1 permutations of variables results in true. Unsatisfied means no matter the input it cannot result in true.