JANUS Studio®, developed by The Software Revolution, Inc. (TSRI) over the past 2 decades, is the most advanced tool framework for software assessment, documentation, transformation, refactoring and web-enablement. JANUS Studio® allows TSRI's staff to use Artificial Intelligence-based modeling to complete fully automated modernization projects, with much greater sophisitication and value than other approaches. Also, since every application and every language is modernized and transformed at the meta-model stage, every prior project (regardless of the language or industry) further develops the toolset and TSRI libraries, resulting in greater value for each future project. At the kernel of this framework are three high-level specification languages; JPGEN™ for defining grammar system and language models, JTGEN™ for defining transformations between these models, and JRGEN™, (a 5th generation artificial intelligence language), for model manipulation and analysis that supports first order logic and predicate calculus as well as 3GL and 4GL language constructs.
JANUS Studio® grammar systems have been defined for Ada, Visual Basic, Vax Basic, C, C++, COBOL, C#, Java, Jovial, FORTRAN, and more than 30 other languages, as well as TSRI's proprietary Intermediate Object Model (IOM). The IOM is TSRI's language-neutral model into which all legacy source languages are transformed, and from which all modernized target languages are generated. The IOM is effectively a universal language modelling system. Through the use of the IOM, TSRI simplifies the O(n-squared) language transformation problem to an O(n+1) language transformation problem. The IOM provides a set of generic language constructs that serve as a reusable language-neutral formalism for assessment, documentation, transformation, refactoring and web-enablement.
The JANUS Studio® Transformation Process
TSRI is uncompromising in its adherence to the Object Management Group (OMG) principles of model-based driven architecture, and in fact, TSRI is the principal author of the Abstract Syntax Tree Meta-Modelling Standard used by the OMG. All software transformations and analysis are carried out at the model level using domain-specific platform-independent high-level specification languages. For maximum efficiency, all semantic and syntactical forms of multiple languages are mapped into TSRI's language neutral modelling formalism, the IOM. The platform independent specification languages, JPGEN™, JTGEN™ and JRGEN™, are transformed into highly efficient C++. C++ is a platform specific implementation language that allows applications of millions of lines-of-code to be efficiently processed in hours.
JPGEN™ defines compact and efficient grammar systems for mapping application source code into model bases. JTGEN™ defines the complex rewrite rules that map between these model-bases to ensure that the semantics within a source language are accurately re-expressed within the semantics of a target language. JRGEN™ communicates between model bases and alternative representations, including design, documentation, software metrics, and visual presentations.
"The transformation of a legacy system's code and database is now possible at a nearly 100% level of automation." (Philip H. Newcomb)
The technology upon which JANUS Studio® is based originated with the Knowledge-Based Software Assistant (KBSA) program. KBSA was a research program sponsored by the U.S. Air Force's Rome Labs in the 1980s and early 1990s. KBSA research focused on developing highly automated model-based processes for program transformation, specification and synthesis within a "machine mediated" development processes. Cordell Green, the Director of the Kestrel Institute and a current member of TSRI's Board of Directors, participated in defining the KBSA program along with Bob Balzer, of UC Berkley's Information Science Institute (ISI) and others.
TSRI's founder, Philip Newcomb, then with Boeing, harvested work done on the KBSA program through that program's Technology Transfer Consortium. He led an effort within Boeing during the late 1980s and early 1990s to adapt KBSA program transformation technologies to over 30 industrial research projects. In conjunction with the IEEE Working Conference on Reverse Engineering, Mr. Newcomb helped to establish an industrially viable technology foundation for knowledge-based software engineering.
After leaving Boeing in 1995, Mr. Newcomb established The Software Revolution, Inc. (TSRI) to commercialize the technology concepts conceived during the KBSA and Boeing projects by creating an Artificial Intelligence (AI) toolset, called eVolution 2000™. The foundation of eVolution 2000™ was the LISP-based Refine™ language developed by the Kestrel Institute and used in the KBSA program.
Initially the eVolution 2000™ toolset was successfully employed to find and repair Year 2000 (Y2K) errors in many different legacy software applications and languages. After Y2K, the toolset's capabilities were incrementally expanded to achieve the fully automated transformation of legacy languages. Early successes included Jovial to C++ transformations for two U.S. Air Force systems, (Ballistic Missile Early Warning (BMEWS) and MILSTAR Satellite), and modernization of 27 year-old Wang-COBOL to C++ for the National Endowment for the Arts (NEA). Despite these successes, limitations in the efficiency of the underlying LISP implementation language prompted TSRI's decision to redesign the toolset's framework, creating the JANUS Studio® toolset of today.
JANUS Studio® was born out of TSRI's experience in executing a wide range of projects. TSRI learned that a universal language modelling system was needed to maximize extensibility and efficiency of its transformational and analysis processes. This led to the development of the IOM. TSRI also learned that the languages JANUS Studio® used for specifying grammars and transformations had to fit the problem and be as expressive and efficient as possible. This led TSRI to define the domain-specific high-level specification languages JPGEN™, JTGEN™ and JRGEN™. The three specification languages had to "compile" into efficient, platform-neutral C++, which then allowed the use of 64-bit multi-processor LINUX platforms to analyze massive software models using parallel processing. The new toolset, JANUS Studio®, was created in part by "bootstrapping" the initial versions of the JPGEN™, JTGEN™ and JRGEN™ from the KBSA framework languages; hence JANUS Studio® is a highly evolved descendant of the KBSA program's technologies. TSRI's exceptionally skilled developers evolved JANUS Studio® into what it is today; simply the most powerful, least expensive and lowest risk technology available to automatically assess, document, transform, refactor, and web-enable legacy systems.View Case Study Timeline