SAN JOSE, Calif. A lone inventor claims he has created a new approach to software development that could make it easier to write parallel programs for multicore processors and bring a new level of discipline to the writing code. People familiar with the Coherent Object Software Architecture (COSA) said the problems it is addressing are very real but gave mixed reviews of the COSA approach.
COSA essentially defines a set of rules applied to a table-drive state machine, using a tree data structure to create behaviors that interact with each other and can alter the system's state. It was developed by Gordon Morrison, a long time computer architect who has funded his work for the last decade or more with the royalties from licensing earlier patents in parallel architectures to a list of blue chip electronics companies.
Morrison claims COSA, described at his Web site, could bring a new level of rigor to software development that relies more on mathematical formulas and eliminates the need for conventional programming languages such as C++ and Java.
"Ten programmers could not produce the same program to solve a problem because programming is an artful approach. I want to eliminate the art and make it an engineering approach," said Morrison.
Use of a state machine approach "means smaller development teams and significantly reduced software development and maintenance costs," according to the COSA Web site.
Among its other features, Morrison said COSA allows more dynamic changes in software than traditional methods, enables fast pre-empting of threads and brings a new level of traceability to processes. It is also easier to debug because it does not use the structures of nested if-then-else statements known as spaghetti code popular in conventional programming languages.
"I believe it could totally revamp the programming paradigm that exists today, eliminating today's spaghetti code, yet it is very simple," he said.
James McGraw, a parallel programming expert and government researcher said he has known Morrison for many years and reviewed COSA about a year ago.
"I'm not as excited about it as he is. I gave him a lot of feedback on things I didn't understand or was worried about in the architecture," McGraw said.
COSA's state-machine architecture does not appear suited to the supercomputer-class problems involving hundreds of thousands of processors McGraw said he has worked on in his career.
"When you are in parallel computing, interactions of state become enormously difficult to manage in your head," McGraw said. "You have to abstract things to a higher level to help the programmer," he added.