Variable Message Format Test Tool (VTT) Modernization October 2007

Size: px
Start display at page:

Download "Variable Message Format Test Tool (VTT) Modernization October 2007"

Transcription

1 Variable Message Format Test Tool (VTT) Modernization October 2007 CECOM Life Cycle Management Command Software Engineering Center (SEC) Information Technology Engineering Directorate (ITED)

2 Table of Contents Variable Message Format Test Tool (VTT) Modernization...1 October CECOM Life Cycle Management Command...1 Software Engineering Center (SEC) Abstract Introduction Preparation for Conversion The Conversion Process Using the JANUS Studio TM Set-Up Legacy Documentation Transformation System Integration System Testing Automatic Re-factoring Semi-Automatic Re-factoring Engineering Support Final Documentation Lessons Learned Performance Description Budgeting Scheduling Technical Summary...9 i

3 Variable Message Format Test Tool (VTT) Modernization By Giang Ngo U.S. Army Communications-Electronics Life Cycle Management Command (C-E LCMC) Software Engineering Center (SEC) Ft. Monmouth, NJ 07703, USA Phone: (732) Fax: (732) Abstract The Software Engineering Center (SEC) owns and maintains a large volume of missioncritical, legacy software systems that are difficult to support and susceptible to security risks. A manual effort to redesign, develop, and deploy legacy software systems, potentially overwhelms SEC s resource planning and budgeting. The following issues affect these legacy systems supportability and maintainability: Lack of legacy language software management skills Lack of legacy language programming expertise Diminishing support and availability of legacy software developmental tools Introduction of new, emerging technologies (i.e. Windows Forms 1 ) Increased maintenance costs Compliance with current army capabilities maturity model integration (CMMI) standards This paper describes an automated technique that converted the Variable Message Format (VMF) Test Tool (VTT) from Ada to C++. The metrics established by this project enable SEC and other organizations to better plan language conversion processes and to accurately estimate conversion project schedule and budget details. 1 Windows Forms is a general user interface (GUI) that replaces the old Microsoft Foundation Class (MFC) 2. Introduction The SEC initially planned to have its own staff manually convert the VTT code from Ada to C++. Given the limited manpower and budget, a plan was laid out that allowed portions of the VTT software to be recoded over a span of two years. The plan s steps were as follows: Identify functional modules of the VTT (e.g., parser, validator, file input/output, etc.). Restructure/Recode the existing Ada logic modules to make the functional modules Windows Dynamic Load Libraries (DLLs). Recode a functional module and make it a C++ DLL. Remove the Ada DLL and replace it with the C++ DLL. SEC software engineers started the conversion process and identified the VTT Parser as a candidate module for conversion. During this time, SEC management discovered The Software Revolution, Inc. (TSRI), a company that specializes in converting code from one language to another. Since 1995, TSRI has used the JANUS Studio TM to automatically convert legacy code to more modern languages with minimal human intervention. It should be noted that while the JANUS Studio TM does produce code with minimal intervention, achieving system response time and code readability project goals still, required substantial human intervention. TSRI had already successfully completed numerous other DoD code conversion projects. The processes that the JANUS Studio TM used for 1

4 the Ada to C++ conversion are applicable, but not restricted to the following legacy languages: COBOL, Assembler, CMS-2, FORTRAN, C, and VAX Basic. TSRI achieves this language portability by converting each source language to a proprietary pseudo-language representation. Finally, TSRI converts this pseudo-code to the target language. The following is TSRI s description of their transformational process: The TSRI transformational process begins with the automatic identification of candidate classes and objects. These candidates are mapped into an Intermediate Object Model *IOM). The IOM model is a relatively complete transformation of the input source code into an IOM model that is consistent wit the structure of object-oriented C++. This transformation into the IOM form locates redundant, duplicate, and similar data processes, and abstracts those detected items into classes and methods. The classes, relationships, attributes, and operations of the derived IOM model conform to the Universal Modeling Language (UML) standards The overall process for transforming from a procedural to an object-oriented application starts with input of legacy application programs, and produces as output a completely integrated and modernized system. The output system consists of object classes and their instances. These object class instances are complete with regard to data typing, methods and IOM processes (executable mission-oriented C++ functions, which refer to Class member element, and member functions or methods). These constructs possess a derived architecture and control structure methods associated with an object-oriented paradigm. The IOM application contains calls to derived methods associated with desired classes. The design documentation extracted from the IOM model is a hybrid between conventional object-oriented modeling languages and eventdriven programming models. The mapping from procedural code into object-oriented code is functionally faithful to the original procedural system. However, this IOM model follows the semantic and syntactic rules of the objectoriented languages, C++ and Java. After a careful assessment of risk, schedule issues, and budget issues, SEC abandoned their manual conversion efforts and contracted TSRI to perform the entire conversion effort. The TSRI contract was firm fixed price, except for the semi-automatic re-factoring task. Semi-automatic re-factoring is defined by TSRI as, the identification of situations within the code where customer-provided Domain Experts could opt to make engineering changes to the system. Since the time required to complete semi-automatic re-factoring was difficult to estimate, SEC contracted this task with TSRI using the firm fixed rate contract mechanism. The difficulty in estimating the level of effort to be applied to this project occurred because at the commencement of the project it was unknown what re-factoring operations would be specified by the SEC. The SEC conversion team consisted of a SEC project lead, a SEC subject matter expert (SME), and a SEC test engineer. Prior to the conversion process onset, the SME provided technical support to TSRI staff in their planning phases. The SME provided support to TSRI in the set-up phase, explaining several obscure areas of the source code. Prior to the integration phase, the SME analyzed the converted code and identified areas that could be re-factored. During the integration phase, the SME assisted TSRI by discovering misaligned pointers and by assisting TSRI to restore database connectivity. In the system integration phase, the SME concentrated his system testing on high-risk areas. The SME prioritized the semi-automatic refactoring effort so limited funds would be well spent. Budget constraints forced the SME to participate in troubleshooting and problem resolution during the semi-automatic re-factoring phase. Future projects should note that such participation helps ensure success as the system SME is familiar with all aspects of the code and can swiftly detect errors. On the TSRI side, the significant players were as follows: the JANUS Studio TM TSRI staff knowledgeable in the source language 2

5 TSRI target language expert. This document describes the successes and challenges of this conversion process methodology. The experiences encountered in this project may assist other government project managers with similar conversion projects to better estimate their cost and schedule. 3. Preparation for Conversion Ada-based VTT code was prepared for the conversion effort by the addition of a trace log. The log recorded data exchange among modules and between modules and the database. The VTT database contains tables describing various VMF standard baselines. A site visit was conducted by the SEC SME and the SEC project lead. The SME conducted a code walkthrough with TSRI personnel in attendance. During the code walkthrough, the SME clarified TSRI s understanding of the VTT source code logic and identified, to TSRI, potential conversion problem areas. 4. The Conversion Process Using the JANUS Studio TM The conversion process using the JANUS Studio TM entails the following sequential nine steps: Set-up Legacy documentation TSRI identified only four steps as essential. These steps are set-up, transforming, system integration and system testing. Subsequent challenges in system response made it clear that any conversion effort must execute all nine steps to assure comparable system response and maintainability Set-Up The JANUS Studio TM inputs legacy code with embedded comments and parses the legacy source code. No hand-editing shall be required in this step. TSRI successfully modified their parser and added rules to the JANUS Studio TM so that it properly mapped Ada source code to its intermediate object model (IOM) Legacy Documentation The JANUS Studio TM produces a detailed presentation of the structure and flow of the legacy code. TSRI used JANUS Studio TM to successfully generate flow control diagrams, structure charts, data element tables, and hyper-linked source code in an HTML format that represented the structure and flow of the VTT software system. Transformation System integration System testing Automatic re-factoring Semi-automatic re-factoring Engineering support Final documentation 4.3. Transformation The JANUS Studio TM translates, compiles and links legacy code into the target language. JANUS Studio TM successfully transformed VTT source code into compilable 3

6 and linkable C++ code with all external calls stubbed out. JANUS Studio TM also automatically generated HTML-based documentation reflecting the legacy system s design. The documentation generated by JANUS Studio TM shows calling hierarchies; each variable s use and type; and each module s dependencies System Integration Converted code modules successfully reintegrate into a test-ready application. The working application contains an equivalent user interface, performs equivalent functions, and utilizes equivalent external hooks to the original legacy software package. VTT source code was successfully integrated into a test-ready application package System Testing TSRI tests C++ VTT source code with SEC test scripts and with the Joint Interoperability Test Command (JITC) test plan. TSRI corrects errors revealed during testing. TSRI corrects any additional errors discovered by SEC. C++ VTT source code is free of errors and fully operational Automatic Re-factoring System testing proves that C++ VTT source code is fully operational and free of dead and redundant code. TSRI utilized the JANUS Studio TM to analyze the converted code and then identified and eliminated the dead/redundant code. More than 15,000 lines (fifteen percent) of dead and redundant code were successfully removed from the source code. This improved overall system response time by a corresponding fifteen percent Semi-Automatic Refactoring Semi-automatic re-factoring is the most crucial phase of the conversion process. During semi-automatic re-factoring, the SME identifies each area in the code that can be improved with respect to performance, maintainability, readability, and extensibility. The SME s input was critical in this phase. In this phase of the contract, reimbursement was firm fixed rate rather than firm fixed price. The project manager needed to provide adequate advanced budget allocation and careful schedule-monitoring. It should be noted that the schedule was most impacted by re-factoring itself, not by regression testing required in each phase of the re-factoring. Due to funding constraints, SEC conducted the second round of regression testing and most of the subsequent troubleshooting and error correction. Each semi-automatic re-factoring task must either remove superfluous and redundant code layers (i.e. function calls or generic classes) to ease maintenance; or must improve the code s performance by utilizing the more efficient, built-in standard language libraries. Regression testing follows each semiautomatic re-factoring task listed below. VTT software equipped with C++ Common Language Infrastructure (CLI) 4

7 TSRI compiles and executes VTT software from Visual Studio 2005 instead of Visual Studio The JANUS Studio TM produces a detailed presentation of the structure and flow of the converted C++ code. The C++ STL strings replaced TSRI-type 2 strings. TSRI in-out templates were removed. The Microsoft Application Program Interface (API) replaced Boost Threads (third party library that provides a set of features that can be utilize across platforms) and other Boost dependencies. The Microsoft STL (third party library that implement C++ standard library) replaced the C++ STL port. The Ada translated, now superfluous, Win32 wrappers were removed. The C++ comparable built-in data structure and TSRI customize pointers replaced Ada linked list structure. A software switch permits VTT to run in the C++ Common Language Interface. With the C++ Language interface, VTT makes use of the.net environment that enables just in time compilation, thread management, exception handling, and garbage collection Engineering Support TSRI provides prompt support as required. Funding exists, obligated prior to the conversion process. This support shall be delivered on demand Final Documentation TSRI used JANUS Studio TM to successfully generate flow control diagrams, structure charts, data element tables, and hyper-linked source code in an HTML format that represented the structure and flow of the VTT software system. 5. Lessons Learned System response time issues required budget reprogramming and project schedule realignments. Recommendations for improved software project planning in future programs follow: Set-up Legacy Documentation Transformation System Integration System Testing Automatic Re-factoring Semi-automatic Re-factoring Engineering Support Final Documentation 5.1. Performance Description The intent of the code conversion was operational equivalence to the original product; however the original wording of the task description was legally ambiguous and unclear to the contractor. The phrase, operational equivalency, failed to clearly delineate all governmental operational requirements. Issues encountered: 2 C++ representation of Ada string structure 5

8 Systems Response Time (minutes) Prior to semi-automatic re-factoring, the converted software s response time was degraded by thirty-nine percent in comparison to the legacy software s response time. Line-forline implementation of Ada s data structures as non-native processes in C+++ produced inefficiencies in the following areas: String Implementations Input/Output processes Intermediary TSRI templates Intermediary TSRI function wrappers As expected, the performance of the converted code gradually began to improve as refactoring progressed. Many modifications were made to the converted VTT s string manipulations. Due to budgetary constraints, optimization of the I/O processes was never addressed. VTT Response Time Before, During and After Code Conversion Process Encode Convert Import Validate Figure 1. 3 VTT Response Time Before, During, and After Code Conversion Process. 3 Validated, imported and converted results were based upon one-thousand seven-hundred messages JITC test messages. Encoding builds a virtual display that is used to test the VTT GUI and to log test results., Encoded measurements were based upon ninety messages 6

9 Recommendation: The Statement of Work (SOW) should specify the following details for each thread: thread inputs and outputs, thread response time, resource usage (e.g. memory, CPU, operating system resources), general user interface fonts/colors, etc. These details in the SOW reduce the government s risks 5.2. Budgeting Initial government cost estimates were unable to foresee the extent of semi-automatic re-factoring required to meet system performance speed objectives. In hindsight, SEC engineers have concluded that re-factoring time is a totally unpredictable process. Since this was a firm fixed rate type contract in the most critical task, and since the initial SOW did not specify system response times clearly, the government had to obligate additional funding to insure delivery of a usable product. Issues encountered In this conversion process, due to the budget challenges mentioned in Section 4.2, troubleshooting and error correction were performed by SEC personnel, not by the TSRI. Recommendation Perform comprehensive pre-conversion assessment/research. It can reveal potential tasks for semi-automatic re-factoring. Ensure that 20% to 25% of total project cost is allocated for the semi-automatic refactoring phase. Plan on having a government SME involved in the re-factoring process, both in deciding on the re-factorings to be executed and in any follow-on troubleshooting Scheduling Issues encountered Risk mitigating action SEC requested that TSRI add an additional two weeks to the test schedule before beginning re-factoring. The extra test time reduced the risk of existing errors propagating into the automatic re-factoring phase. SEC closely monitored the re-factoring tasks to ensure the schedule was not delayed by any single task. SEC prioritized re-factoring tasks by comparing their technical risk with the benefit they bring Technical Issues encountered: SEC found a serious error in VTT during linked-list re-factoring. The error was identified and corrected due to close collaboration between the VTT SME and TSRI s personnel. Risk mitigating action: The analysis was performed by personnel with expertise in both languages. 6. Summary TSRI s automated code conversion system economically produced a faster, more maintainable, and more reliable application. Availability of a capable SEC SME was critical to TSRI s success in each and every phase. Despite the success of this project and the quality of metrics generated, the scalability of the semi-automatic re-factoring effort is unclear. Semi-automatic re-factoring is an inherently unpredictable process. Larger sized recoding efforts may scale in a linear manner or in an exponential manner. Reduced Risk: No issues encountered.

10 Code conversion is TSRI s primary business. TSRI uses the JANUS Studio TM, a mature automated conversion tool developed in TSRI s process does not change the design or layout of the code. JANUS Studio TM conducts straight translation from Ada to C++. Therefore, SEC incurred no new developmental risks. Shortened Development Time: TSRI s JANUS Studio TM conversion required eight months as opposed to the originally proposed manual conversion by SEC that required two years. Reduced Cost SEC saved fourteen percent or $88,000 in conversion costs. See Table 1. Since this savings compares actual costs to projected costs, true savings may be greater. Improved Maintainability: Automatic re-factoring removed the obvious dead and redundant code. Semi-Automatic re-factoring removed redundant generic function call layers and replaced slow string and I/O manipulations with optimized C++ standard library calls. No Added Manpower: The conversion required no additional manpower. Documentation: TSRI s conversion process generated complete documentation of both the legacy and the converted code. The documentation included calling hierarchy and list of variable type, location, and uses. Pilot program: The time and money savings of this code conversion effort suggest that SEC model code conversion projects of comparable size and complexity upon this project s successes. In House Development Leverage on TSRI Capability Schedule 24 Months 8 Months Level of Effort Staff Year for SME Support Cost $ 625 K Total: $537 K includes On Contract SME Support L-3 Overhead Government s Overhead Travel and Equipments Table 1. Comparison Chart for In-house Development Versus Using TSRI 8

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

Visionet IT Modernization Empowering Change

Visionet IT Modernization Empowering Change Visionet IT Modernization A Visionet Systems White Paper September 2009 Visionet Systems Inc. 3 Cedar Brook Dr. Cranbury, NJ 08512 Tel: 609 360-0501 Table of Contents 1 Executive Summary... 4 2 Introduction...

More information

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Using WebLOAD to Monitor Your Production Environment

Using WebLOAD to Monitor Your Production Environment Using WebLOAD to Monitor Your Production Environment Your pre launch performance test scripts can be reused for post launch monitoring to verify application performance. This reuse can save time, money

More information

1/20/2016 INTRODUCTION

1/20/2016 INTRODUCTION INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We

More information

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP PROGRAMMING & SOFTWARE DEVELOPMENT AND INFORMATION SUPPORT & SERVICES PATHWAY SOFTWARE UNIT UNIT 5 Programming & and Support & s: (Unit 5) PAGE

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Managing and Maintaining Windows Server 2008 Servers

Managing and Maintaining Windows Server 2008 Servers Managing and Maintaining Windows Server 2008 Servers Course Number: 6430A Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview This five day instructor led

More information

AGILE SOFTWARE TESTING

AGILE SOFTWARE TESTING AGILE SOFTWARE TESTING Business environments continue to rapidly evolve, leaving many IT organizations struggling to keep up. This need for speed has led to an increased interest in the Agile software

More information

U.S. Navy Automated Software Testing

U.S. Navy Automated Software Testing U.S. Navy Automated Software Testing Application of Standards to the Automated Test and Re-Test (ATRT) Effort Object Management Group (OMG) Technical Meeting June 2007 Approved for public release; distribution

More information

Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015

Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015 Applications... 3 1. Programmer Analyst... 3 2. Programmer... 5 3. Software Test Analyst... 6 4. Technical Writer... 9 5. Business Analyst... 10 6. System Analyst... 12 7. Software Solutions Architect...

More information

Programming Language Inter-conversion

Programming Language Inter-conversion Programming Language Inter-conversion Dony George Priyanka Girase Mahesh Gupta Prachi Gupta Aakanksha Sharma FCRIT, Vashi Navi Mumbai ABSTRACT In this paper, we have presented a new approach of programming

More information

The Project Management Plan will be used to guide, communicate and coordinate project efforts.

The Project Management Plan will be used to guide, communicate and coordinate project efforts. F.1 General Implementation Contractor Deliverables include critical system planning and development components. Sufficient deliverables have been identified at key steps in the project to guide the project

More information

Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia. www.hardis.

Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia. www.hardis. Web Studio Visual Studio iseries Studio The universal development platform applied to corporate strategy Adelia www.hardis.com The choice of a CASE tool does not only depend on the quality of the offer

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs

More information

JOB DESCRIPTION APPLICATION LEAD

JOB DESCRIPTION APPLICATION LEAD JOB DESCRIPTION APPLICATION LEAD The Application Lead will provide functional support and to expand capabilities in the area of systems configuration. This function provides the initial step in the process

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 EXAMINERS REPORT Friday 2 nd October 2015 Answer any THREE

More information

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION

More information

Paper 064-2014. Robert Bonham, Gregory A. Smith, SAS Institute Inc., Cary NC

Paper 064-2014. Robert Bonham, Gregory A. Smith, SAS Institute Inc., Cary NC Paper 064-2014 Log entries, Events, Performance Measures, and SLAs: Understanding and Managing your SAS Deployment by Leveraging the SAS Environment Manager Data Mart ABSTRACT Robert Bonham, Gregory A.

More information

Introduction to Software Paradigms & Procedural Programming Paradigm

Introduction to Software Paradigms & Procedural Programming Paradigm Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,

More information

2015 - Advisory Consultant. 2015 - Senor Business Analyst

2015 - Advisory Consultant. 2015 - Senor Business Analyst Product Name Manufacturer Manufacturer Part No Vendor Part No Description Advisory Consultant Advisory Consultant Advisory Consultant Consultant I Consultant I Consultant I Consultant II Consultant II

More information

Online Transaction Processing in SQL Server 2008

Online Transaction Processing in SQL Server 2008 Online Transaction Processing in SQL Server 2008 White Paper Published: August 2007 Updated: July 2008 Summary: Microsoft SQL Server 2008 provides a database platform that is optimized for today s applications,

More information

Migrating to vcloud Automation Center 6.1

Migrating to vcloud Automation Center 6.1 Migrating to vcloud Automation Center 6.1 vcloud Automation Center 6.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Expert Level Test Automation - Engineer Syllabus International Software Testing Qualifications Board Copyright International

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

Guide to Evaluating Online Proofing Tools

Guide to Evaluating Online Proofing Tools Guide to Evaluating Online Proofing Tools Ambiguous, complicated, tedious and inefficient: do these words sound familiar? If you ve ever been involved in the review and approval process of a creative asset,

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Federated, Generic Configuration Management for Engineering Data

Federated, Generic Configuration Management for Engineering Data Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements

More information

Base One's Rich Client Architecture

Base One's Rich Client Architecture Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.

More information

Improving database development. Recommendations for solving development problems using Red Gate tools

Improving database development. Recommendations for solving development problems using Red Gate tools Improving database development Recommendations for solving development problems using Red Gate tools Introduction At Red Gate, we believe in creating simple, usable tools that address the problems of software

More information

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP

More information

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Hyeon Soo Kim School of Comp. Eng. and Software Eng., Kum Oh National University

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Please Note: Temporary Graduate 485 skills assessments applicants should only apply for ANZSCO codes listed in the Skilled Occupation List above.

Please Note: Temporary Graduate 485 skills assessments applicants should only apply for ANZSCO codes listed in the Skilled Occupation List above. ANZSCO Descriptions This ANZSCO description document has been created to assist applicants in nominating an occupation for an ICT skill assessment application. The document lists all the ANZSCO codes that

More information

For more information about UC4 products please visit www.uc4.com. Automation Within, Around, and Beyond Oracle E-Business Suite

For more information about UC4 products please visit www.uc4.com. Automation Within, Around, and Beyond Oracle E-Business Suite For more information about UC4 products please visit www.uc4.com Automation Within, Around, and Beyond Oracle E-Business Suite Content Executive Summary...3 Opportunities for Enhancement: Automation Within,

More information

A Review of an MVC Framework based Software Development

A Review of an MVC Framework based Software Development , pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University

More information

A Mind Map Based Framework for Automated Software Log File Analysis

A Mind Map Based Framework for Automated Software Log File Analysis 2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake

More information

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor

More information

WHITEPAPER. Improving database development

WHITEPAPER. Improving database development WHITEPAPER Improving database development Introduction At Redgate, we believe in creating simple, usable tools that address the problems of software developers and technology businesses. In considering

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

70-646 R3: Windows Server 2008 Administration. Course Overview. Course Outline. Course Length: 4 Day

70-646 R3: Windows Server 2008 Administration. Course Overview. Course Outline. Course Length: 4 Day 70-646 R3: Windows Server 2008 Administration Course Length: 4 Day Course Overview This course will prepare the student for Exam 70-646: Pro: Windows Server 2008, Server Administrator. Topics covered include

More information

MAGENTO HOSTING Progressive Server Performance Improvements

MAGENTO HOSTING Progressive Server Performance Improvements MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 sales@simplehelix.com 1.866.963.0424 www.simplehelix.com 2 Table of Contents

More information

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu

More information

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led Course Description This four-day instructor-led course provides students with the knowledge and skills to capitalize on their skills

More information

Software Quality Assurance Plan. Introduction

Software Quality Assurance Plan. Introduction Software Quality Assurance Plan Introduction Scope and intent of Software Quality Assurance (SQA) activities The SQA team s objective is to ensure that the product does not deviate far from the original

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages 15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

MicroStrategy Course Catalog

MicroStrategy Course Catalog MicroStrategy Course Catalog 1 microstrategy.com/education 3 MicroStrategy course matrix 4 MicroStrategy 9 8 MicroStrategy 10 table of contents MicroStrategy course matrix MICROSTRATEGY 9 MICROSTRATEGY

More information

OKLAHOMA SUBJECT AREA TESTS (OSAT )

OKLAHOMA SUBJECT AREA TESTS (OSAT ) CERTIFICATION EXAMINATIONS FOR OKLAHOMA EDUCATORS (CEOE ) OKLAHOMA SUBJECT AREA TESTS (OSAT ) FIELD 081: COMPUTER SCIENCE September 2008 Subarea Range of Competencies I. Computer Use in Educational Environments

More information

An Automated Testing Tool Using UI Structure

An Automated Testing Tool Using UI Structure , March 12-14, 2014, Hong Kong An Automated Testing Tool Using UI Structure Nutharat Harnvorawong, Taratip Suwannasart, Member, IAENG Abstract Testers usually run a new version of software against existing

More information

Migrating Microsoft s ASP.NET and IIS.NET Community Websites to Microsoft Azure

Migrating Microsoft s ASP.NET and IIS.NET Community Websites to Microsoft Azure Microsoft Azure Migration: Microsoft s.net Community Websites Customer Solution Case Study Migrating Microsoft s ASP.NET and IIS.NET Community Websites to Microsoft Azure Customer: Microsoft Corporation

More information

Analytic Modeling in Python

Analytic Modeling in Python Analytic Modeling in Python Why Choose Python for Analytic Modeling A White Paper by Visual Numerics August 2009 www.vni.com Analytic Modeling in Python Why Choose Python for Analytic Modeling by Visual

More information

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx ASP.NET Overview.NET Framework 4 ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is

More information

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon ASP &.NET Microsoft's Solution for Dynamic Web Development Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon Introduction Microsoft's Server-side technology. Uses built-in

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Firewall Builder Architecture Overview

Firewall Builder Architecture Overview Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.

More information

Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism

Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Composability Gary R. Mayer Gary.Mayer@asu.edu Hessam S. Sarjoughian Sarjougian@asu.edu Arizona Center for Integrative Modeling

More information

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify

More information

HP OO 10.X - SiteScope Monitoring Templates

HP OO 10.X - SiteScope Monitoring Templates HP OO Community Guides HP OO 10.X - SiteScope Monitoring Templates As with any application continuous automated monitoring is key. Monitoring is important in order to quickly identify potential issues,

More information

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1 Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

Java Programming (10155)

Java Programming (10155) Java Programming (10155) Rationale Statement: The world is full of problems that need to be solved or that need a program to solve them faster. In computer, programming students will learn how to solve

More information

Challenges with Test Automation for Virtualization

Challenges with Test Automation for Virtualization Challenges with Test Automation for Virtualization Sharookh Daruwalla sharookh.p.daruwalla@intel.com Abstract The scope of software validation is always expanding with the ever-increasing test matrix making

More information

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1)

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Computer Programming A computer is a programmable machine. This means it

More information

Chapter 6: Programming Languages

Chapter 6: Programming Languages Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective

More information

Office Business Applications (OBA) for Healthcare Organizations. Make better decisions using the tools you already know

Office Business Applications (OBA) for Healthcare Organizations. Make better decisions using the tools you already know Office Business Applications (OBA) for Healthcare Organizations Make better decisions using the tools you already know Page 1 A B S T R A C T Healthcare information is getting more and more difficult to

More information

Skynax. Mobility Management System. System Manual

Skynax. Mobility Management System. System Manual Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of

More information

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24 Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes

More information

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development The FDA requires medical software development teams to comply with its standards for software

More information

Improvement of Software Quality and Productivity Using Development Tools

Improvement of Software Quality and Productivity Using Development Tools Improvement of Software Quality and Productivity Using Development Tools V Hideo Abotani V Tomoki Shiratori V Kouji Sasaki V Masaki Tonomura (Manuscript received March 24, 2006) Information systems, which

More information

Alternatives for Rule-based Application Development

Alternatives for Rule-based Application Development In this edition of Technology Review, Nelson Lin of WorldSoft Corporation presents a personal view of rule-based application development and the effect of different approaches on Return on Investment --

More information

Planning a Successful Visual Basic 6.0 to.net Migration: 8 Proven Tips

Planning a Successful Visual Basic 6.0 to.net Migration: 8 Proven Tips Planning a Successful Visual Basic 6.0 to.net Migration: 8 Proven Tips Jose A. Aguilar January 2009 Introduction Companies currently using Visual Basic 6.0 for application development are faced with the

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

8. Master Test Plan (MTP)

8. Master Test Plan (MTP) 8. Master Test Plan (MTP) The purpose of the Master Test Plan (MTP) is to provide an overall test planning and test management document for multiple levels of test (either within one project or across

More information

Toad for Oracle 8.6 SQL Tuning

Toad for Oracle 8.6 SQL Tuning Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to

More information

Programming and Software Development CTAG Alignments

Programming and Software Development CTAG Alignments Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical

More information

Microsoft SQL Server on Stratus ftserver Systems

Microsoft SQL Server on Stratus ftserver Systems W H I T E P A P E R Microsoft SQL Server on Stratus ftserver Systems Security, scalability and reliability at its best Uptime that approaches six nines Significant cost savings for your business Only from

More information

Using In-Memory Computing to Simplify Big Data Analytics

Using In-Memory Computing to Simplify Big Data Analytics SCALEOUT SOFTWARE Using In-Memory Computing to Simplify Big Data Analytics by Dr. William Bain, ScaleOut Software, Inc. 2012 ScaleOut Software, Inc. 12/27/2012 T he big data revolution is upon us, fed

More information

Selection Criteria for ZigBee Development Kits

Selection Criteria for ZigBee Development Kits Selection Criteria for ZigBee Development Kits This article gives an overview about different considerations, when it comes to prioritizing ZigBee Development Kits, supplied by different vendors. Before

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system. Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

More information

Transformation through ICD-10 Adoption

Transformation through ICD-10 Adoption Transformation through ICD-10 Adoption The ICD-10 mandate presents payers and providers with one of the largest, most complex, regulatory challenges to date. Migration to the ICD-10 coding scheme is a

More information

Rotorcraft Health Management System (RHMS)

Rotorcraft Health Management System (RHMS) AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center

More information

DITA Adoption Process: Roles, Responsibilities, and Skills

DITA Adoption Process: Roles, Responsibilities, and Skills DITA Adoption Process: Roles, Responsibilities, and Skills Contents 2 Contents DITA Adoption Process: Roles, Responsibilities, and Skills... 3 Investigation Phase... 3 Selling Phase...4 Pilot Phase...5

More information

SCADA/HMI MOVICON TRAINING COURSE PROGRAM

SCADA/HMI MOVICON TRAINING COURSE PROGRAM SCADA/HMI MOVICON TRAINING COURSE PROGRAM The Movicon training program includes the following courses: Basic Training Course: 1 day course at Progea head offices or authorized center. On location at client

More information

White Paper: 5GL RAD Development

White Paper: 5GL RAD Development White Paper: 5GL RAD Development After 2.5 hours of training, subjects reduced their development time by 60-90% A Study By: 326 Market Street Harrisburg, PA 17101 Luis Paris, Ph.D. Associate Professor

More information

Agile Business Process Automation

Agile Business Process Automation Agile Business Process Automation by David Nichols Currently there is a lot of excitement and competition in the Business Process Automation space, however, despite the plethora of BPA platforms available,

More information

Using Story Points to Estimate Software Development Projects in the Commercial Phase

Using Story Points to Estimate Software Development Projects in the Commercial Phase Using Story Points to Estimate Software Development Projects in the Commercial Phase Accurately estimating a software development project s total effort is an essential step to providing your customer

More information

Legacy Modernization. ADM/Healthcare Concepts, Methodologies, Case Studies. Michael Oara CTO

Legacy Modernization. ADM/Healthcare Concepts, Methodologies, Case Studies. Michael Oara CTO Legacy Modernization ADM/Healthcare Concepts, Methodologies, Case Studies Michael Oara CTO RELATIVITY TECHNOLOGIES 2005 Legacy Modernization Any modification performed on a Legacy application that would

More information

California Department of Technology, Office of Technology Services WINDOWS SERVER GUIDELINE

California Department of Technology, Office of Technology Services WINDOWS SERVER GUIDELINE Table of Contents 1.0 GENERAL... 2 1.1 SUMMARY...2 1.2 REFERENCES...2 1.3 SUBMITTALS...2 1.3.1 General...2 1.3.2 Service Request...3 1.4 EXPECTATIONS...3 1.4.1 OTech...3 1.4.2 Customer...3 1.5 SCHEDULING...4

More information

Pattern Insight Clone Detection

Pattern Insight Clone Detection Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology

More information

Input Output. 9.1 Why an IO Module is Needed? Chapter 9

Input Output. 9.1 Why an IO Module is Needed? Chapter 9 Chapter 9 Input Output In general most of the finite element applications have to communicate with pre and post processors,except in some special cases in which the application generates its own input.

More information

Cross-platform IL code manipulation library for runtime instrumentation of.net applications

Cross-platform IL code manipulation library for runtime instrumentation of.net applications Cross-platform IL code manipulation library for runtime instrumentation of.net applications master thesis subject for Markus Gaisbauer (0256634) in cooperation with dynatrace software GmbH July 5, 2007

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information