LogicGem has a two-fold audience, software developers (programmers) and
business analysts (non-programmers). The common thread between these two
diverse groups is that they both need to design logically complete business
rules. For the programmer, the business rules are in fact functional
requirements for a software application that are translated into a
programming language that becomes part of the application. For the business
analyst or domain expert, the same need exists with the exception of
translating the logic to a programming language. Business analysts need to
develop concise business rules that represent real life or proposed business
processes and these processes need to be every bit as logically robust as a
software implementation. Collectively, we can refer to both groups of
programmers and business analysts as a "logic engineer".
Much of the effort in software development does not involve writing code,
but rather the process of covering every possible combination of
circumstances — user input, database transaction, or any other event — that
the program will encounter. When the programmer or analyst overlooks a
possible combination of inputs or events, the program may do things
essentially at random. Even worse are errors made during program
maintenance, usually by programmers who do not fully understand the
interaction between dozens of different possibilities. As it is, logical
analysis is tedious and error prone: it's easy to omit, duplicate, or
contradict conditions.
LogicGem is a software tool called a "logic processor" that addresses
these issues using decision table theory. LogicGem consists of a logic
editor, and logic compiler. With the logic editor, you can create logic
tables — spreadsheet-like constructions that encapsulate a set of logical
rules. One part of a table contains conditions that can be linked to create
a rule, and the other part contains actions that are related to the rules.
Once you've defined the rules, the editor will automatically analyze them,
add missing rules, and remove those that are redundant or contradictory.
Decision table technology is the vehicle by which logically complete
business rules may be constructed. When you're done, the logic compiler is
available to generate source code in Basic, C, C++, Fortran, FoxPro, Java,
Pascal, PowerBuilder, SAS, Visual Basic, Visual Basic.NET, Visual C#.NET, or
Xbase. The compiler will produce a set of English, Spanish, French or German
rules that can be used as documentation or as a knowledge base.
The LogicGem logic processor software tool is designed to provide a
familiar, easy-to-use way to create, edit, verify and compile decision table
logic. LogicGem's logic tables express a problem visually, making it easy to
understand. LogicGem provides the means to prototype and expand a high-level
procedural concept into a decision table, work it through analysis and
design phases, and then generate English language documentation and
programming source code in various programming languages. LogicGem provides
tools to ensure that a table's logic is complete, unambiguous and contains
every applicable rule in an expanded or reduced format.