A site devoted mostly to everything related to Information Technology under the sun - among other things.

Sunday, January 28, 2007

Lattix Tool and Linear Algebra

There is a tool from Lattix
@ http://www.lattix.com
that tries to capture the dependencies of a software system. It is a pretty cool tool.

Please go to

http://www.lattix.com/dl/gettingstarted.php.

Next, please click on the

www.lattix.com/dl/gettingstarted.php

link which is on the r.h.s. of the page, second hyperlink.

Please page through the tour: you will notice that the tool tries to grasp some features of the DB and later to ties them to the the application that uses that database via a matrix.

The matrix is called the Dependency Structure Matrix and is related to TRIZ (http://en.wikipedia.org/wiki/TRIZ) :



What I find intriguing about this matrix is the possibility of computing (non-zero) eigenvalues and the corresponding eigenvectors. (See http://en.wikipedia.org/wiki/Eigenvalue).

The eigenvectors, as you recall, have the property that when multiplied by their matrix, remain the same - they just get multiplied by their eigenvalue.

Thus, the eigenvectors of this matrix could indicate the "directions", in the software dependency space, in which the system can be moved/changed/evolved along these linearly independent (in the sense of abstract vector spaces) eigenvectors. Note that this matrix has no real eigenvalues.

Thus the features of a software system may be broken into a collection of linearly independent features that are combined to give rise to the full system. Once we recognize the linearly independent features, we can develop (lineraly) independent test cases, use cases, etc. that exercise and cover those features. This could reduce the amount of work we have to do to validate a system or its requirements since we only need to validate those test cases and those use cases that form the basis (in the language of linear algebra) for the system's features set.

What I have outlined above is just my hunch. It takes effort to see if these ideas will lead to anything useful.

No comments:

About Me

My photo
I am a senior software developer working for General Motors Corporation.. I am interested in intelligent computing and scientific computing. I am passionate about computers as enablers for human imagination. The contents of this site are not in any way, shape, or form endorsed, approved, or otherwise authorized by HP, its subsidiaries, or its officers and shareholders.

Blog Archive