Technology & Process Perfected Over 25 Years
The technology at the core of our solution, called JANUS Studio®, is built upon hard-work, experience, and ingenuity. We never stop improving. JANUS Studio® is the most advanced framework for automated software assessment and documentation, transformation, and refactoring.
We invite you to share in our vision of creating a world where organizations are not limited by technology.
True Semantic Transformation
Our fully automated toolset ingests each software application and truly transforms it into a modern, native, object-oriented target language such as C++, C#, Java, or J2EE, running on Linux, Unix, Windows, and other real-time target architectures.
TSRI Modernization Methods
TSRI delivers the highest quality modernized code at 100% automation levels.
Our component-oriented, model-based, architecture-first process supports UML and MDA.
We transform monolithic applications, their user interfaces and databases into multi-tiered, modular, and cloud-enabled applications into the desired architecture. Our solution features a powerful refactoring capability which helps iterate over code to increase maintainability, quality, and security. The flexible process allows for feedback and changes with each iteration, sprint, and spiral — applied to all code at the same time. The iterative nature of the process allows for a minimal code freeze and minimal business disruption.
TSRI ispreciseprovencollaborativedependableWe're here to help you!
Assembly (Vax, HLASM, BAL)
C, C#, C++
COOLGEN & Other Generators
JCL, DCL, Other Control Lang.
Visual Basic 6
ISAM, VSAM, QSAM
+ Other Databases
LEGACY UI & SCREENS
In-lined Screen Code
+ Other UI Elements
+ Other Languages
Oracle SQL Server
+ Other Databases
TARGET PLATFORMS & ARCHITECTURES
.NET & .NET Core
Google Guice & Closure
Fully Automated Introduction of:
Cloud Architectures (AWS, Azure, BlueMix, OpenStack, Google Cloud Platform, Cloud Foundry)
Trusted provider for commercial, government, and military migrations
Frequently Asked Questions
There is no manual intervention required to transform code via our JANUS Studio® toolset; it is really 99.9X% automated. Even the little bit of a percent we hand patch we can roll into our automation for the next project.
This high degree of automation is due to our modeling process. As the first step during our modernization, TSRI needs to create a full and complete model of the application. This is where all the work that TSRI does, for example refactoring and redesigning, happens.
TSRI’s approach has a 100% success rate over all 130+ major modernization projects we have undertaken, all of which are reference-able projects. This is not magic, but the result of a fully-automated code documentation and transformation process as well as a disciplined and free pre-project assessment phase during which TSRI will identify any potential risks to the project.
The JANUS Studio® transformation provides code that is accurate and uniform, eliminating the risk of technical failure. TSRI reduces financial risk by operating on a Firm Fixed Price (FFP) basis for initial tasking and Firm Fixed Rate (FFR) for testing and implementation support. While manual and semi-automated transformations rely on coordination of many—often hundreds—of developers, TSRI’s automated processes typically require only a handful of project management engineers, typically fewer than 10 people, avoiding the risk of key personnel departures. Finally, because a code freeze of only a couple days to a week is required, maintenance and updating can continue on the application all through the assessment and development process, eliminating the risk, business disruption, and project failure associated with long code freeze periods.
This allows you to review your source code and the transformed code, side-by-side. The Blueprint also shows other artifacts, such as structure of the code with Structure Charts, Control Flow Graphs, Data Flow Diagrams, State Machine Models, McKabes' Complexity Index, Similar Code and much more.
This is also where we identify all the gaps that we may have found in your code base and need to adapt to.
There are a few main reasons why legacy code modernizations fail.
First, manual rewrites can take a great deal of time, particularly for large applications. During this time, changes to the project goals may cause further delays or even cause the project to restart from the beginning. The cost for manual rewriting of code is already very high, and so starting over becomes particularly costly.
Also, long code freezes of months and years are common with manual or semi-automated conversions, which result in major issues for your user base, and eventually project failures.
Transliterative tools that focus on line-by-line translations of the source code into the modern code are also widely used. Just as using a dictionary to translate from another language to English one word or sentence at a time would result in many areas of confusion, so these tools produce results that don’t accurately reproduce the functionality of the original application. Even when completed, this results in complicated and unmaintainable applications.
Finally, the costs associated with large numbers of people on partially automated and manual modernization projects can be very high. These costs grow as features are added or changed several months or years into the project, until millions and often hundreds of millions have been invested.
The fully 100% automated functionality of TSRI’s JANUS Studio® solves all of these problems, and it's the reason all of our past projects were successfully completed, and all of our past projects are referenceable. This perfect track record of success has been honored with recognition ranging from the Stevens Award for our founder Philip Newcomb, as well as the Top 20 Most Promising Defense Technology award from CIO Review
- Fully Automated Modernization
- This option fits well for large, single or multi-language applications that are actively maintained, valueable and irreplacable. TSRI's solution uses model-driven, AI-based, fully automated methods to achieve 100% automation in the modernization of a source application to a target language and architecture of your choice. Learn more about the advantages of the fully automated approach here.
- Semi-Automated Modernization
- Semi-Automated Modernization technologies can work if the source application is small or very small and you have a specific reason to choose a less automated method. However, because of the manual input required to fill gaps in the transformation, the transformation risk with semi-automated modernization increases corresponding to the size of the application, because humans are in the loop touching the code and introducing errors. For example, transliterators (which translate code "line by line") produce legacy-like target code that must be manually edited. Other semi-automated model-driven approaches require additional manual rewriting, often for large amounts of code at large expense and risk. This increases the chances of schedule overrun and increasing costs, and does not allow for automated refactoring, or flexible approaches that allow for mid-project changes.
- As a result, semi-automated solutions that can handle one or two languages are typically not good solutions for larger projects. Even an automation level of 95% on a 1 million line application means 50,000 lines of code or more must be manually written at dramatic expense.
- Application Rehosting and Replatforming
- Rehosting is a good solution if the application is not actively maintained and only needs to move from its current hardware/platform. This solution retains the legacy language, and so development/maintenance continues to be difficult and costly, and exposes the customer to increased technical debt as fewer and fewer resources are available. Also, the significant license costs associated with rehosting can be unattractive for customers. In fact, the effort to undertake a TSRI modernization is often equal or lower than 1-2 years worth of licensing cost.
- Custom Off-the-Shelf (COTS) Solutions
- COTS replacements are very common for replacing general applications that do not have many custom features. Usually the COTS applications look completely different, have different functionality and have license costs associated with them. This requires costly and lengthy retraining of the current users who are not familiar with the new system and rely on the vendor to "make them work" for the business scenarios. Again, license costs and vendorlock are other disadvantages, as is the ability to maintain and modify the application moving forward.
- Manually Rewriting Applications
- Definately the most costly, highest risk and longest approach is rewriting the code manually. This is an approach often used on applications that need massive forward development and required major changes in functionality. The Standish Group, an independent research firm, clearly shows that the high liklihood of "challenged" or "failed" projects, based on hundreds of modernizations/migrations/replacements, should be a major consideration for any manual redevelopment effort. Most of TSRI's successful large modernizations follow a failed manual effort that expended millions or tens of millions of dollars before being scrapped. Request a copy of the Standish Group report here.
1. Perform detailed analyses of legacy source code.
2. Transform legacy source code into modern target languages.
3. Perform initial detailed analysis of target code (to support testing).
4. Apply fully automated refactoring operations.
5. Iteratively apply semi-automated refactoring operations.
6. Perform final detailed analysis of target code (to support testing and future system maintenance)
In regards to online and batch, we do modernize batch and online code. Almost all of the modernization projects included a GUI, online, database, and batch code.
- Customer identification and relations
- Executive program management
- Joint proposal preparation
- Requirements definition
- Providing input on generated code for refactoring
- System testing and implementation
- Stub implementation for external interfaces
- Future system enhancements and forward development
- System lifecycle support
- Training of end users
TSRI works in support of the client and system integrator for the entire project.