About us

Our company is built around experience building the some of the largest security systems in the world, very large office complexes,  nuclear power plants, medical instruments development, laboratory information management systems (LIMS), semiconductor process control.  Our systems are often required to serve for a decade or more, and be "Highly Available

We know the value of the intellectual property in legacy systems, and have experience preserving it for integration into a modeled system, even after the original architects and programmers have gone.  Our company is built around modeling, but not at the expense of profitability.  Replacing a working component with its UML modeled equivalent is often not necessary, or cost effective.  While we believe that modeling will eventually pervade systems from silicon to user interfaces, we look to model existing modules only where it is necessary and efficient.

Our objective is to synchronize with, not impede, existing processes, while converting existing software, and the teams to support it, into experts using the most productive development tools available.    When we complete our projects, we leave the customer with not just the tools, but having trained their engineers to continue using standards-based, modeling technology. Management then has the choice of reducing the size and number of project teams, or increasing the number of objectives.

Our industry is full of new buzzwords: "Agile Programming", "Extreme Programming", "Aspect Oriented Programming", "Test Driven Programming," and all apply to the programming realm of procedural languages; they still reflect the computer domain of registers and memory, and not the problem domain.  These languages are all sequential; there is still an implicit "program counter" ordering events.  Most complex real world systems are comprised of asynchronous threads which must often be explicitly synchronized to attain some objective.  The UML is an explicitly multiply-threaded descriptive language.  This is a notible difference from tradition procedural languages, C, C++, Java, in which even threads are serialized.

We know that hiring programmers who know a particular development environment for the processors used in a vertical sector, or know the prevailant operating system is still important.  But the industry, from IBM, to Motorola, to Siemens, to ...  is moving toward modeling, albeit two decades after the economics of semiconductor design made modeling the standard. The future for software is modeling and the current standard for expressing software models is The Unified Modeling Language. 

The UML is a set of symbols sufficient, but not necessary, to express a design of arbitrary complexity.  Any experienced system designer can, with a few definitions, look at a UML description of the design, and understand in a few hours, the mechanisms employed to solve the problem.  That UML description then represents the intellectual property of the company paying for the design.  Given the cost of software development, the preservaton of intellectual property alone should justify a careful evaluation of modeling technology.

That the design expressed in the UML can be executed before final translation to chosen hardware is remarkable, but also the natural evolution of software.  With estimates of 50% to 70% of large software projects failing either to meet requirements or to generate revenue, the industry has converged upon the UML.  The defence systems industry has taken the lead because software controlling jet fighters cannot fail.  The rest of the software industry is following for purely business reasons - which includes reliability, supportability, and time-to-market.