Higher-level language COLAMO

High level language with implicit description of parallelism COLAMO is fundamentally new language for reconfigurable systems programming and allows to describe different kinds of parallelism in the most compact and the most easy form. Language COLAMO contains unified syntactic structures, equal to structures of traditional programming languages of high level, but at the same time it allows to describe structural and procedural components of parallel program within the same context. Programming language contains structures, such as conditional operator, loop statement and arithmetic operations, which are traditional for the most programming systems and equal to the syntax of Pascal and Fortran.

The most significant distinction of COLAMO language is a new structure - cadr. The basic peculiarity of cadr structure is existence of two components – structural and procedural. The main program of COLAMO project contains calls of cadrs according the determined sequence, that allows to combine determinism of realisation of large tasks fragments with asynchronous computational operations inside the cadr. Mapping of computational algorithm on RCS architecture is provided by translator, which selects structural component of the cadr and maps it on hardware recourse of RCS, basing on the elements of scalable IP-cores library.

COLAMO has no explicit forms of parallelism description. Parallelization is achieved via variables type declaration and arrays elements indexing. Implicit description of parallelism in programs is realized according to the single substitution rule, which is widely used in data flow programming languages, and according to the single assignment rule. Implicit form of parallelism description permits to realize several variants of parallelization in the RCS structure, though user may have no idea about them.

Language description in doc-format (rus)