Deliver complex software systems

Deliver a Complex Software Suite with Apple Mac® OS Support and Radical Performance Improvements

Situation

A market leader in advanced systems for electronics production tests had evolved a sophisticated software suite over a decade. The company saw an opportunity to extend its market leadership by making the existing Windows® software suite also available on Mac OS.

Challenges

  • A complex software suite comprising over 100 applications and sub-systems that interfaces with high-performance test equipment
  • Large existing codebase of over 5 Million LOCs
  • Built using myriad technologies & tool chains including Win32 API, X11, Java Swing, Multi-process Message Queues & Synchronizations, Networking, GPIB & USB Drivers, Compilers, C, C++, Legacy Objective C, Java, JNI, Pascal generated C and shell scripts
  • Evolved over years, the documentation and codebase were out-of-sync; none available to consult for in-depth understanding of the architecture or implementation
Celstream Response

  • A core team of senior technical staff with deep expertise in both Windows & Mac OS investigated the existing codebase and functionality
  • For each subsystem, the team identified the high-level design, technologies used and the inter-dependencies
  • A Migration Approach including strategy (map, replace, create), timelines and dependencies was drafted and refined with customer’s inputs
  • A set of migration rules were created and shared with the team for concurrent implementation
  • Created several value-add components including sub-system hierarchy and a new build system that enabled faster integration and validation of groups of sub-systems

Key Highlights

  • Common code for both Window and Mac software
  • Reuse of existing regression test (unit test) infrastructure
  • Automated build system to enable faster builds and releases
  • Sandboxing compliant software suite
  • Digitally signed software and installation package
Benefits to Customer

  • Delivered the complete software for Mac OS in a record time of 6 months. This enabled the customer to do early sign-ups and extend market leadership
  • Consistent user experience between Windows & Mac OS implementations meant faster adoption, lesser costs for end-user training and support
  • Radically improved build & install procedures (5 minutes for Mac codebase compared to 6 hours for the Windows codebase) resulted in tremendous gains in development & test productivity
  • Celstream’s documentation has become an excellent source of reference for current & future implementations
Technologies

In developing this solution, Celstream used the following key software tools and technologies:

  • XCode IDE
  • XQuartz (X-11)
  • PackageMaker
  • Flex & Bison
  • JDK, JRE, Swing
  • C, C++, Objective C
  • Java, JNI
  • Shell Scripts
  • DHCP, TCP/IP

Celstream is a registered trademark of Celstream Technologies Private Limited. Java is a trademark of Oracle Corporation. Apple, Mac, Cocoa, Objective-C, Xcode are registered trademarks of Apple, Inc. Windows is a registered trademark or trademark of Microsoft Corporation. Java, JDK, JRE are trademarks or registered trademarks of Oracle Corporation. All other trademarks are the property of their respective owners.