Contents of the LG-INFO.TXT file
THE MOST OFTEN ASKED QUESTIONS ABOUT
1. Why do I need Logic Gem?
Has anybody ever said to you, "You know, when I do x, y and z,
the system doesn't work." Logic Gem prevents omissions.
Are you ever unsure if your program logic is correct?
What will happen when something new is tried? Logic Gem
can reassure you.
Do you ever find yourself unable to concisely explain a
procedure? Logic Gem can document your procedures in English.
Do you ever find yourself waist deep in logic you don't
understand anymore? Logic Gem keeps you above it all.
Did you ever wish that you could comprehensively, perfectly
and articulately express everything you know about something?
Logic Gem can provide you with a context for doing so.
2. What are the main functions of Logic Gem?
The functionality of Logic Gem falls into three general areas:
a) Logic Editing, creating/changing decision logic tables;
b) Logic Interpreting, executing logic tables dynamically;
c) Logic Compiling, translating logic into language.
These three functions in combination are Logic Processing.
3. What kind of problems does Logic Gem solve?
Logic Gem helps you solve problems of thorny decision logic.
For example, if your program or design has a section that
monitors a number of variables and executes actions based
on the changing values of those variables, then you will want
to apply Logic Processing techniques to that section. We refer
to the variables as conditions, their changing values create
the logic matrix, and the specification of when to take which
actions are called rules.
4. What is a logic table?
A logic table is a map, representing the relations of combinations
of conditions to combinations of actions. The secret to Logic
Processing is that there is always a finite number of combinations
of condition values, or rules. With the computer keeping track
of which combinations are missing and which are already present,
you stand a good chance of creating perfect logic, by employing a
sort of "fill in the blanks" mentality.
There are four quadrants in a logic table:
Condition ! Condition
Stub ! Entries
Action ! Action
Stub ! Entries
5. Is a logic table different from a decision table?
No, a logic table is an electronic decision table. There is some
confusion in common parlance surrounding the term, "decision table".
Many people have a vague notion that they know what a decision table
is, but few people actually understand them as well as they would
like. Now that they are electronic, more people will use them and
realize their potential value.
6. Can tables call other tables?
Yes. The Logic Interpreter can call subtables, which can in
turn return values. When compiling logic, the condition and action
stubs are presumed to contain syntactically meaningful source
language expressions. Naturally, these can contain calls to
other procedures which will be generated by the Logic Compiler,
although this is not required.
7. Can I create a network of tables?
Yes. This is especially useful when making extensive use of
the Logic Interpreter.
8. What per cent of my code will be "touched" by Logic Gem?
If you are like the designers, systems analysts or programmers
we know, you will find Logic Gem an absolutely vital
tool for the 5% of your code that occupies 40 % of your time.
Logic Gem will also be useful for you on an additional 15 %
(or so) of your code. Any time you get more than two or three
related conditions, you can save time, increase quality and improve
communications using Logic Gem.
9. What do I have to change about the way I work to use Logic Gem?
Nothing. Logic Gem is a tool, not an all-encompassing environment,
or a religious design methodology. If you would rather automate
tedious and error-prone programming activities, you should use
10. Can Logic Gem create switch/case type of logic structures?
Version 1.5 creates two types of logical structures in seven
languages. The "Nested If/Then/Else" structure parses the
logic with the fewest possible tests in virtually every case.
The "Rule List" structure isolates rules sequentially. Version
1.5 does not support a "Switch/Case" structure, although
future versions might.
11. Can Logic Gem read my existing source code files and put them in
logic table format?
Although there is no theoretical reason that Logic Gem can't
do this, Version 1.5 does not support this function. However
you can quickly use pseudo code to drop your existing Conditions
in a Logic Table, insert the rules which exist in your present
program, and Logic Gem will instantly show you if you have rules
missing and will build out those missing rules. If you have
redundant rules, it will also show you those and remove them
12. Is the Logic Gem Logic Interpreter an expert system shell?
Not really. The Logic Interpreter is sufficiently rich, however,
that many people will find that they have no real need for an
additional execution engine. The real problem with expert systems
is not executing the logic, but creating and managing it (i.e.,
Logic Processing). Logic Gem tackles the creation of rule-based
systems. An expert system shell, a conventional programming
language or the Logic Gem interpreter can serve to execute the
rules, depending on your individual preference.
13. Can the Logic Interpreter report decision history?
Yes, Logic Gem has several controls that allow you to specify the
status of the logic interpretation, including which rules
are eliminated and why, which are retained and why, and what
is the current group of viable rules.
14. Will the Logic Compiler translate groups of tables?
Yes and no. It won't translate groups of tables automatically,
but you can tell it which table to translate when.
15. Can I use Logic Gem to document procedures?
Yes, Logic Gem's logic tables have a high degree of usefulness in
computer software documentation applications. The communicative
properties of logic tables - in cases where there are complex action
matrices - are superior to flowcharts, pseudo code and many of the
other conventional documentation techniques. Also, Logic Gem's
translation of logic to English will produce crisp, clear procedural
16. In what ways does Logic Gem break new ground?
Logic Gem delivers an entire technology based on the simple premise
that computers should be used to assure the completeness and
consistency of logic, and that they should automatically complete
and disambiguate it as needed. Humans should tend to the microscopic,
line-at-a-time perspective, and computers should tend to the
17. What is really meant by "perfect" logic?
The logic you can create using Logic Gem is perfect in two ways:
all possible combinations of conditions are accounted for, and
there is no contradiction or redundancy. This is known as
18. How does Logic Gem complete my code?
Using innovative new algorithms, Logic Gem detects combinations
of condition values (rules) that haven't been entered into the
logic table, and can automatically enter these rules, which can
then in turn be compiled, thus completing your code.
19. What is disambiguation?
Disambiguation is a key Logic Processing operation by which Logic
Gem automatically removes contradictions and redundancies from
your logic table.
20. Can Logic Gem reduce the complexity of my program logic?
Logic Gem offers a "reduce" function that recursively
compresses similar rules into single rules. This can have
a substantial impact in reducing logic complexity.
21. What do I do if I use a language not supported by Logic Gem?
Can I still benefit from the program if I am using, say, ADA?
Logic Gem processes your logic into a logic structure
(rule/list, or nested if/then/else) expressed in a
programming or natural language. Generally, one
combination of structure and language will be close
to your desired module. The modules produced by Logic
Gem are often used more as an architectural template
than a bit-for-bit source code module. Minor edits with
your favorite text editor will generally make the Logic Gem
output exactly what you want it be, both stylistically and
linguistically. Also, merely to possess a perfect tabular
depiction of the logic involved is a substantial benefit
to any programmer or designer.
22. What can I do if I need more conditions and/or actions?
Is there any way to link logic tables together to solve
Logic Gem provides ways to include files in the place of single
conditions and actions, and also encourages the fabrication
of networks of tables (i.e., linked tables). In logic table
construction, as in problem solving generally, it is a
value to work with the smallest possible units. Logic Gem
does have some limits on the total numbers of conditions (10),
actions (15) and rules (1024) in a single table,
but there is no limit on the number of related tables. It's
unlikely that in actual practise, you will find
this a severe limitation. Additionally, as PC technology
matures you can expect Logic Gem to support more of
23. What programming language compilers are supported ?
ANSI C (Including Turbo and Quick C)
GWBASIC and BASICA
Quick and Turbo BASIC
Lahey and MS-Fortran
dBASE and clones
and many more
24. Can you modify the structure of the code generated by Logic Gem?
For example, can you change the number of spaces tabbed in
indentation or the placement of Block Begin and Block End
characters or words?
Yes, Logic Gem includes a configuration file that allows for
the setting of many parameters, including indentation spacing.
Additionally, it truly is a straightforward matter to
edit a Logic Gem-generated module. They're small and
readily comprehended, due to the clarity of the structure
and the sensibility of the generous commenting.
25. Can you represent a finite state machine using Logic Gem?
Yes. Both finite state machines and flow charts are
convertible to and derivable from decision tables.
26. What is the M column in the logic editor?
Logic Gem permits complex entries for condition values,
or states. That is, conditions may be multi-valued rather
than simply true or false. For example, the temperature may be
cold, tepid, warm or hot instead of just hot or cold. You need only
inform Logic Gem how many values the condition can attain
(if its more than two) and Logic Gem will appropriately generate
rules, monitor redundancy, etc.
27. How is the term "logic compiler" defined?
The Logic Compiler is the portion of the Logic Gem system
that translates logic arranged tabularly into structures
that are primarily linguistic, notably several popular
28. How can the Logic Interpreter aid in program development?
The Logic Interpreter, though often used to augment (or replace)
conventional or expert systems programming chores, can also be
used in the programming development cycle to test logic hierarchies,
ensuring design integrity prior to your compiling the table
and leaving the Logic Gem environment. In this way, your
program logic can be tested independent of your programming language.
29. How does the Logic Gem compiler determine what are valid entries
for condition and action stubs?
Logic Gem treats stub entries as text. There is no syntactical
or semantic analysis or validation done. For example, if you
enter valid C expressions into the Logic Gem stubs, Logic Gem
will properly place them in the output when it compiles the table
into C; however, you could take those same stubs and compile
them into Pascal or FORTRAN. Although they wouldn't compile or
execute using your language compiler, they would be legal
Logic Gem stub entries.
30. What is the maximum number of rules I can define and would I ever want
to account for all possible rules?
Version 1.5 supports 1024 columns per table. You will almost
always want to account for all possible rules, because this is
the key to creating perfect logic, but you will almost
certainly never actually have to manipulate 1024 physical rules.
Logic Gem encourages the creation of complex rules, each one
of which will subsume many - perhaps even hundreds - of simple
rules. This expressiveness is rendered by using meta-characters
such as "don't care" and "NOT" entries, and by employing
rule-count minimization strategies like automatic hidden-redundancy
reduction, mixed entry support and calling subtables.
31. How long does it take to generate the program code for a complex logic
table of say 10 conditions and actions with multi-valued conditions?
Logic Gem will create program code from such a table in a matter
of seconds. Creating perfect logic for a table like that may
take around an hour. It's sort of like asking "How long does
it take to make a painting?" It depends.
32. Do you have an UNDO command?
Yes. Any Logic Gem operation that makes major alterations to your
table can be undone. This includes the UNDO command itself.
Also, backup files are automatically maintained.
33. Can I read or access the logic tables as they are stored on the disk?
Yes. Logic Gem table files are flat, ASCII files, with fields
delimited by tab characters.
34. Can I obtain the file formats for these tables?
Yes. We have a document describing the file formats. If you
would like a copy, call our hotline.
35. Can I obtain benefit from the program if I program in a non-DOS
Yes, anybody who can benefit from a perfectly logical picture
of a program design problem, or from excellent English
procedural descriptions, or from a perfect source code
module can benefit from Logic Gem. If logic is useful,
Logic Gem is beneficial. Naturally, you can transmit
the simple ASCII files back and forth from one environment
to another. Also, Logic Gem will work over an RS-232
line on an ANSI terminal.
36. Does the Logic Compiler generate code with comments?
Yes, you can optionally include the logic table itself as
comments in the source code, and your rule names, numbers
and descriptions can be included as comments as well.
Most people are pleasantly surprised by the readability
of our source code and the functionality of our strategy
for including your comments.
37. What is "English" as a target language and what can it be used for?
English is a system of communication employed by human beings
to convey "meaning" to one another. It is commonly used in two
forms, one audible, the other visual. Humans make English noises
by expelling air through a carbon-based modulation system located
in human throats. Visually, they make small written symbols
that represent segments of the noises. These written symbols
can be made to appear on a screen. Logic Gem will translate
logic to English symbols. These can be used to communicate with
humans instead of computers. This is known as interpersonal
communication, and is typically fraught with potential for
misunderstanding. Logic Gem will (at least) lend order
to the description of procedures, policies and functions.
38. How is a programmer's tool such as Logic Gem able to build
Often, the purpose of using an expert system is to reach
a conclusion about something. Conclusions often, perhaps
even usually, flow from arrays of conditions. Assessing
the meaning of condition values can be effectively simulated
by traversing a logical structure. Logic Gem helps you
create and perfect this type of logical structure. You can
then embed the structure in a "regular" program, an
expert system shell, or interpret it directly using Logic
Gem's Logic Interpreter. The real difficulty with expert
systems technology is in creating the logical structure. Logic
Gem makes major strides toward resolving the simplifying of
39. How can I verify that the logic is perfect without compiling,
linking and executing my programs?
Of course, Logic Gem's logic processing functions will
guarantee the mechanical perfection of your logic (i.e.,
are all possible combinations of conditions accounted for
and is the logic devoid of contradiction or redundancy).
Beyond that, you will want to use Logic Gem's Logic
Interpreter to make sure your logic meets your design
objectives. This will dynamically show you which
statements will be executed and when, based on which
40. How complex of a problem can I resolve with Logic Gem?
Logic Gem truly gives you your best shot at solving
most problems of decision logic. If a problem is too
complex for Logic Gem, it is either too complex absolutely,
or it is not a problem of propositional logic.
41. Is Logic Gem copy protected?
It has always been Sterling Castle's policy not to impose
the problems and frustrations associated with various copy
protection schemes on its customers. In return, we expect our
customers to honor copyright laws.
42. Will Logic Gem run under UNIX?
There is no present version of Logic Gem that runs under UNIX.
43. How is Logic Gem a CASE tool?
CASE is an acronym for Computer Aided Software Engineering.
Logic Gem is obviously a computer aid for engineering software.
Logic Gem does not require a large investment, nor any sort
of methodological reform, nor abandonment of what you have
already found useful. In this way, it is distinguishable from
most conventional CASE packages.
44. How little memory will Logic Gem run under?
Logic Gem requires 640K RAM. It will make no productive use
of additional RAM.
45. How can Logic Gem benefit me if I have already written the
logic portion of my program?
Logic Gem can help you design an exhaustive test plan,
document the functionality of the system, clean up the
spec, revise, translate or optimize the code, and make
your life more pleasurable should you ever write another program.
46. Can you give me some samples of the kind of problems I as a
programmer would turn to Logic Gem for?
Anything that is a combination of conditions and actions
is suitable fodder for Logic Gem. For example, any function
where boundaries of several types exist, where multiple
flags or status words are being simultaneously monitored,
where there is in combination more than five or six logical
statements like IFs, ANDs, ORs or ELSEs.
47. In how many states can each condition be represented?
Version 1.5 of Logic Gem allows you to have as many as
nine states per condition.
48. How much does Logic Gem cost?
With the introduction of Logic Gem's new version 1.5, we are
offering for a limited time the special price of $99. This
includes our 90-day, unconditional money-back guarantee and
unlimited free technical support.
Also, because of the substantial number of programmers who,
while predominantly programming in one language, have asked
"Why should I pay for the languages I don't use?", we are now
offering a single language version of Logic Gem for ONLY $49.95.
You pick one programming language (C, BASIC, Pascal, FORTRAN or
dBASE) and we include English so that you can still automatically
document procedures, write pseudocode, and develop complete
expert system rule bases. Remember, Logic Gem works with
whatever compiler you currently use. If at a later date you
have need of an additional language, your original $49.95 will
be applied toward the purchase of the multi-language edition.
49. Is the 90 day money-back guarantee really unconditional?
Without exception. If you don't like the product, just
explain to us (in writing) why not, and you get your money
back. Period. Your explanation will help us improve Logic
Gem, and that will be worth it to us. Frankly, so many
people are finding Logic Gem so incredibly useful that we
don't think you'll return it. Every day we get calls from
customers (on their own dime!) exclaiming the beauty and
value of this technology. You're going to really like
Logic Gem, and you'll enjoy the power to express yourself
logically in new ways that it gives you.
50. What type of technical support is provided?
Technical support is free and unlimited. We provide three
means of obtaining support for licensed users of Logic Gem:
* Live technical support from 9-5 Mondays through Fridays PST.
* 24-hour BBS
* 24-hour FAX
51. What is the industry saying about Logic Gem?
"This program is a real gem. Highly recommended."
Ben Crocker, UCLA PC Users Group, 6/89
"... a perfect choice for expert system development."
Don Barker, PC AI, July/August 89
"Good programming shops should not be without it."
John Dlugosz, Computer Language, 5/89
"Logic Gem is easy and fun to use."
Hardin Brothers, PC Resource, 5/89
". . . a valuable tool."
Andrew Schulman, Byte Magazine, 5/89
"The most exciting software at COMDEX . . . Logic Gem is
going to change the way we write programs."
Jerry Pournelle Ph.D., Byte Magazine, 2/89
"After several weeks of beating my head against some serious
bugs, Logic Gem allowed me to solve all of the problems within
three hours. . . it really does work. This is one product which
has found a permanent home on my hard disk."
Robert Scott Ladd, The C Users Journal, 2/89
"The ultimate in code documentation..."
Barbara Hintze Miller, PC AI, Jan/Feb 89
"It has already saved me several hours, and I haven't had
it a week. Highly recommended."
Jerry Pournelle Ph.D., Byte Magazine, 3/89
"Fascinating...Serious programmers must get Logic Gem.
It's a Jewel."
Tom Swan, PC World, 3/89.
"This terrific tool will allow us to increase the
intelligence of our expert systems."
J.D.Smith, Ph.D., Chief Scientist, AIQ Systems
"Logic Gem eliminates the need for programming complex
if/then/else structures. Now you can concentrate on
the problem and let Logic Gem program the solution."
Scott DiBattista, Technical Services Manager
52. Who are some of the users of Logic Gem?
IBM Metropolitan Life Ins.
General Dynamics Tandy Corporation
Lotus Development Corp. Security Pacific Bank
Gruman Data Systems Teledyne Controls
Union Carbide Siemens
York International Corp. Georgetown University
RICOH Corporation Honeywell
Dell Computer Corp. AT&T
Purdue University Johnson & Johnson
Paul Mace Software Expert-Ease Systems
Arizona State University Colorado State University
Marsh & McLellan American Airlines
Weyerhaeuser Paper Company . . . and many others