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
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:
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.