Trad4v3.2 has been released. This version has the following changes from v3.1:
- Added support for 3rd party libs by setting T4_3RD_PARTY_LIBRARY_LIBS and T4_3RD_PARTY_HEADER_PATH in the app.conf file.
- Inheritance of interface (IoI) now allows for inherited type specialisation in t4 file. This means that types that share the same pub interface need not share their static and sub profiles.
- Abstract, concrete and (where applicable) inheritance graphs are now generated for you in .dot file format.
- Improved validation and reporting.
- Bug fixes.... read more
Trad4v3.1 has been released. The changes include a major usability enhancement surrounding the app DB layout, so that that what used to look like:
insert into my_table values ( id, 0, "H" );
insert into my_table values ( id, 1, "e" );
insert into my_table values ( id, 2, "l" );
insert into my_table values ( id, 3, "l" );
insert into my_table values ( id, "H", "e", "l", "l" "o" );... read more
Trad4v3.0 has been released. This is a major milestone in the project and marks the end of substantial development to trad4 for the foreseeable future.
The code has had many improvements to robustness and usability, and the manual has been extensively updated.
Changes to the code:
- Object state management has been added.
- Validation has been improved.
- All applications have been updated and are included in this distribution.... read more
Trad4v3.0 beta02 featuring bond_risk and black_scholes is up.
- The ability to pass in compiler flags (-O3, -g) has been added (append to CXXFLAGS as needed).
- A compiler warning caused by certain kinds of structures has been fixed.
- A single-threaded mode where the master thread does all the work has been added (export NUM_THREADS=0).
- The namespace t4 has been added to prevent trad4 type name clashes with external libraries.
- The script benchmarker.sh has been added (see the Analysis section on the main website for details).
- Trad4 now compiles on 64-bit platforms.... read more
For this release the precompiler has been re-written to support nested and stand-alone structures. It's also much improved from an architectural perspective.
Two applications are included in this distribution. The first is jpm_cds v1.1, which has had the precomp_v2 workarounds fixed but is otherwise unchanged. The second is test_app, an application designed to exercise the precompiler, and demonstrates how the nested structures work.... read more
This application is based on the ISDA CDS Standard Model originally written by JPMorgan and recently released under an open source licence. It is a port of this CDS model to the trad4 architecture. This release represents Phase1 of this project, which is a trad4 wrapper around the ISDA functions. Phase2 will involve a deeper integration, taking a full advantage of the multi-core concurrency that trad4 can offer. More information here: http://trad4.sourceforge.net/jpm_cds/jpm_cds.html
In this model we'll be applying trad4 to the problem of ordinary differential equations, again using numerical methods in a similar vein to heat_equation_1d. We'll define a function and get the first and second order differentials of that function. As with all trad4 applications, it will scale with as many threads as your hardware can muster.
This is a working model of what was a thought-experiment discussed in Appendix C of The Manual v2_Beta_04. It was a thought experiment then as there were limitations in the trad4 infrastructure that meant it could not be built. Those limitations have now been fixed and the model is presented here.
The plan is to create a series of objects that perform primitive mathematical functions - plus, minus, natural_log, cume_norm_dist etc., and configure the relationship between these objects at run-time to solve a particular problem.... read more
Trad4 (http://trad4.sourceforge.net/), the graph-based programming language that scales linearly on multiple cores, has been used to build a concurrent model of the 1D heat equation (http://trad4.sourceforge.net/heat_equation_1d.html). This model used the centred difference method, where each node is run by a different thread.This approach will scale for 2D, 3D or nD models of the heat, wave and convection-diffusion equations, all of which are coming soon.
Trad4 is a fully concurrent, thread safe, graph-based programming language that scales linearly on multiple cores. It is initially intended for deployment in the financial industry to model real-time risk. It is a new way of arranging programs in memory and a new style of flow-of-control.
Trad4v2.0 represents a major milestone in the project, with v2.0 being a complete re-write of v1.0 and as such is several orders of magnitude faster than it's predecessor. It is available for download here: https://sourceforge.net/project/downloading.php?group_id=202177&filesize=5407319&filename=trad4v2.0.tar.gz&8771694... read more
Trad4v2: The Manual Beta04 is released and is available for download here: http://sourceforge.net/project/downloading.php?group_id=202177&filesize=978358&filename=trad4v2_The_Manual_Beta04.pdf&2929566
It's a fairly major revision and re-work. The highlights are:
- Native constants, enums and structures have been documented.
- Appendix C: General Computer has been ported from the version 1.0 documentation.
- Extended the bond_risk model documentation to include repo_trade and fx_rate.
- A section on porting your existing software to the trad4 architecture has been added.... read more
Trad4 is a fully concurrent, thread safe programming language that scales linearly on multiple cores. It is a new way of arranging programs in memory and a new style of flow-of-control. It is initially intended for deployment in the financial industry to model real-time risk.
Newly released this weekend, the beta02 code cut which includes usability enhancements, native structures and the initial release of black_scholes. More info on the project website.... read more
What is trad4?
Trad4 is a fully concurrent, thread safe, graph based programming language that scales linearly on multiple cores.
It comprises of a library and a pre-processor. You specify your objects using a simple syntax and run the pre-processor. Trad4 produces a handful of C files for each object, including a stub file - the calculate method. This gets called each time the object needs to fire, and you need to supply the logic for. Trad4 pulls all the information that object needs to calculate itself into the scope of this function.... read more
Work on trad4v2 has begun.
Having at last had some feedback I can begin to clarify what trad4 is - it's a programming language that allows you to create concurrent directed acyclic graph models without having to worry about locking or thread synchronisation.
I have a lot more work ahead of me including a complete re-write of the documentation, but the main difference between versions 1 and 2 is that trad4v2 runs as a single process and uses threads to fire the objects. This brings some major performance benefits and a much more recognisable programming model.... read more
trad4 version 1.0 is released. Please use the tag T4_v1_0_311207 to checkout.