Filetab language converter
Over the last few months we have been working with a customer who
has been porting a large legacy IBM mainframe application to a Windows Server
environment. Part of the porting work involved getting a library of
several hundred TAB360 Filetab programs compiled, running and integrated with
the new application code.
The TAB360 programs have similar syntax to RPL code and use
decision tables to express their logic.
Continued on page 2 >
The 2008 Price List - A Christmas Bonus!
The new product model and price list is in place and our users
will be pleased to note that there are opportunities to upgrade Genius and
extend its functionality at no additional cost. And in some cases annual
Maintenance and Support fees will be lower on renewal!
The previously distinct components, Genius User, Executive and
Linker are now wrapped together as Genius Client at a price point equivalent to
User in the old product categories. Maintenance and Support fees follow this
new model.
The result is that the EIS module is now available to all users
free of charge. It includes a group of tools designed to allow the user to
define corporate hierarchies that are stored independently from the data. Such
features as a multidimensional drilldown viewer, hierarchical tree definition,
multi-level roll-up totalling, logical group selection and page orientated
output are included.
Seasons Greetings
RapidGen Software Ltd wishes all its
customers the compliments of the season and continued success and prosperity in
2008.
The Itanium Compiler Project
Porting the Genius Application suite to a new hardware platform
involves two main steps: building the runtime system and writing a new RPL
compiler codegenerator. The runtime system is written almost entirely in
C and is designed for portability; writing a new codegenerator, however, is a
major task, which becomes increasingly complex as machine architectures evolve
in pursuit of greater speed.
Using the instruction set efficiently can be tricky. The
original PDP-11 had 8 registers and about 50 instructions, the VAX 16 registers
and about 320 instructions, and the Alpha 32 registers and 136 instructions in
3 formats. The Itanium has up to 128 registers and nearly 1100
instructions in 113 different formats, though many of these are irrelevant to
RPL.
Much more subtle is instruction packing and ordering.PDP-11 and
VAX instructions were variable-length with instructions executed strictly in
order and no constraints.
The Alpha's RISC (Reduced Instruction
Set Computing) architecture increases speed by breaking
operations down into many simple instructions which are fixed-length and can
execute in parallel on multiple "execution units". The hardware schedules
instructions on to units, synchronizes units so that instructions wait until
all their input operands are ready, and even renames registers internally to
avoid unnecessary dependencies between instructions.
The Itanium's EPIC (Explicitly Parallel Instruction Computing)
architecture, by contrast, requires the compiler to order instructions
correctly, track operand reads and writes and specify explicit "stops" to
ensure that operands are ready when needed. Also, 41-bit instructions are
packed 3 to a 128-bit "bundle" with only certain combinations of instruction
types and stops permitted, so the compiler must fit instructions into allowed
bundle types, inserting no-ops and stops as necessary.
Simple programs are running already, and the Itanium version
should be ready for release early in 2008.
minor syntactical idiosyncrasies, as well as dealing with
historic curiosities such as 80 card column source code limits!
File specifications relating to VSAM files are also translated to
a default file structure or database. For this particular project the
target file structures were fixed/variable length Microfocus ISAM format, for
which a generalised file interface was developed.
The same converter operates with TABN, TABH, TABU and FTL6
variants of FILETAB.
Continued from page 1
While born from the same stable many years ago, the two languages
have been developed and enhanced independently. Significant differences and
syntactic incompatibilities exist.
To simplify this process we have created a new module which
automatically parses and translates TAB360 code into RPL. This is all
done using an interactive menu system allowing the programs to be compiled and
tested as they are converted.
The majority of the conversion involves
-
Accelerated a large data processing task taking more than 24
hours to one that completes in less than 1 hour.
-
Migrated a large database to a new platform.
We have helped companies with tight deadlines to meet them on
time.
We have worked on software for satellite systems, mobile handsets
for community nurses and sales reps, aircraft assembly, mobile phone
billing systems, pension funds,
insurance .
In addition to all this our data mining expertise has been
instrumental in revealing previously unrecognised trends and patterns in
performance data and helped customers to manage their supply chain more
efficiently, develop new revenue channels or identify opportunities for cost
savings.
If you have a short, medium or long term project in mind how
about getting in touch with us to see if we can assist you.
The Solution Finders
Have you been confronted with a 'simple' problem but found it
difficult to find anyone with a cost-effective solution? Do the answers appear
to offer even more problems?
Have you thought about us?
We have a wealth of knowledge and experience and have assisted a
large number of companies in finding solutions to their daily challenges. We
pioneered some of the contemporary database technologies and continue to apply
our expertise to complex information systems. We have extensive experience of
all aspects of business process and systems analysis, software development and
programming as well as project and development life-cycles. We can also handle
the legacy systems that the faint hearted would prefer to retire!
For example, one day's
consultancy has:
-
Saved a customer £500,000.
Wintel server platform. This consultancy contract
demonstrates our specialist skills applied in managing complex database
migrations in an operational context.
David is always available to discuss solutions for
future-proofing your database resources.
applications, covering finance, healthcare, communications,
insurance, manufacturing and retail. He has been involved in all stages of
their product and development life-cycles.
He is currently completing a project to port components of an
enterprise payroll system to Genius runtime on a
David Durant - Training and Consultancy
David read Computer Science with Chemistry at Royal Holloway,
London. His experience with The Genius Application Suite began over 25 years
ago, initially as a user and subsequently as a member of the development and
support team.
Throughout this period he has had close contact with clients
providing training and consultancy in a wide range of
The Genius Application Suite and Decision
Tables
Programming by Decision Tables is at the
heart of the Genius Application Suite and has been there since the product's
origins.
When first introduced to decision tables, many people think they
will be difficult to understand, but in practice they are often simpler
than the spreadsheets which are now commonplace.
Decision tables are an efficient way of expressing logic, and
their tabular structure aids checking that all eventualities are catered for.
For complex logic especially, they are more legible than flowcharts or
nested AND-OR expressions. The basic principle is that there are up to 32
Boolean flags representing parallel logic threads ("rules"); each is initially
active but can be selectively turned off by FALSE results from logical tests or
procedure calls, and this in turn determines whether later tests and actions
are executed.
Decision tables in computing date from the late 1960s, when a
report writer was created that took parameters to produce variants of a single,
simple report. This led initially to a product called FILETAB (more
history on our web site) and eventually to RPL, the basis of the Genius
Application Suite. Early versions were limited by hardware capacity and
speed, and did little more than filter records and format them for printing
As hardware improved, the emphasis shifted to improved
functionality and ease of use. New "high-level" tools were created to
generate RPL code automatically, improving productivity and reliability.
Today, most reports can be written in an English-like language without
coding a single line of RPL, and even these can be built using a
point-and-click GUI interface instead of a text editor.
More complex applications programs and menus need a certain
amount of similar functionality but require some specific coding to create the
exact result, so the Genius Application Suite includes utilities which quickly
and easily create outline RPL programs automatically from directives in a
"skeleton". Extra RPL code can then be added as decision tables called at
predefined points in the logic of the generated program. This allows the
programmer to concentrate on the business logic and presentation, with the file
or database access and program structure provided automatically. Because
RPL has evolved into a powerful, highly-portable general-purpose programming
language, extremely complex programs can be created with minimal effort.
If necessary, entire programs can still be hand-written, the best example
being the RPL compiler
which is itself a pure RPL program.
If you have any further questions about the Genius
Application Suite, please don't hesitate to contact
us for further information.