• Technologies
  • FreeTradeProcessing of deal data for use in pricing libraries
  • FreeMarketProcessing of market data for use in pricing libraries.
  • FreeStyleCross platform development and code generation
  • FreeForm (beta)Tools for creating forms-based user interfaces
  • Products
  • Developer ToolsCross platform development and code generation tools
  • Quant ToolsQuantitative analyst tools
  • Class LibrariesClass libraries in C++, .NET, and Java for math and finance

FreeStyle

Overview

FreeStyle is a tool for creating code in multiple languages at the same time, even if these languages are not related. While for most projects this means C#, Java, and C++, Java, other programming languages are suppored. If you are working with more than one programming language or technology, FreeStyle offers major advantages over a mix of disparate development tools and environments, while working together well with platform specific software such as Visual Studio or Eclipse.

FreeStyle is also a tool for reducing or eliminating repetitive programming tasks where it can lead to tremendous increases in productivity even for a project where a single programming language is used. It can genrate wrappers for legacy or third party APIs, serialization code, validation code, and many other types which that are time consuming or difficult to create by hand. If the type of code you would like to generate is not supported directly, it can be added to the software as an plugin module.

How it works

FreeStyle uses a single set of cross-platform definitions to manage both edited and generated source files. From this single set of definitions, CompatibL Studio creates native files for each development platform, including edited code headers and stubs, generated files for all standard aspects of the implementation, all project files and makefiles, as well as configuration, schema, and resource files.

For edited files, the update process preserves edited sections of code during regeneration and alerts the developer when function signature has been modified or new function has been added. This approach is frequently employed by GUI development environments and is familiar to most developers. FreeStyle uses the same approach is used for all code types.

Interoperability

FreeStyle assures complete interoperability between different platforms, without having to write glue or interface code by hand.  This includes those cases when a given programming platform lacks native support for a specific feature, for example the ability to serialize any object in C++ into an XML or binary stream. It also includes those cases when the underlying technology is supported by multiple platforms, but not exactly the same way, requiring synchronization of implementation details on each platform.

For example, native implementations in C++, .NET and J2EE do not represent a logically equivalent object the same way in XML, binary stream serialization, messaging, database access, etc. As a result significant amount of coding is required to make persistence and communication code interoperable between modules. With FreeStyle , every type of serialization and persistence layer is based on exactly the same implementation logic. This means, for example, that an object can be serialized into XML or binary code in one programming language and read back in another programming language. The same definition of compatibility applies to all aspects of implementation – making it possible to migrate from one platform to another for each individual module without modifying surrounding code.

Coverage

You can use CompatibL for working with C++, Java/J2EE, C#, JavaScript, Managed C++, JNI, Web services/WSDL, SQL, TIBRV, CORBA, Excel, as well as multiple vendor APIs. If we do not support the type of code you are looking for, CompatibL’s services team will assist you in adding this capability to the software. You can also implement extensions on your own.

Copyright © 2006 CompatibL