IV. SYNTHETIC MANIFOLD: WORLD - OPERATING
ENVIRONMENT OVERVIEW
manifold system lives and operates in a heterogeneous operating environment. This can be a real environment - for example, an FPGA or embedded hardware and/or a virtual environment - for example, a simulated environment or a distributed system. An operating environment provides a set of interfaces that allows a manifold system to form and perform work. This set of interfaces includes a former interface for resource allocation and de-allocation, a timer interface which controls the progress of a manifold system and a clock interface which supplies the current time of the operating environment. An operating environment could support the Portable Operating System Interface (POSIX) specified by the IEEE to provide services to one or more manifold systems.The basic interfaces that can be supported by an operating environment are described below. An operating environment could support additional interfaces as required by specific manifold systems.
The former interface supports the operations form, fork and release. The form operation allocates a resource, the fork operation makes a copy of an existing resource and the release operation releases a resource.
        The clock interface supports the operations get_time and set_time. The get_time operation returns the current earth time and the set_time operation sets the current time.
        The timer interface supports the operations sleep and wakeup. The sleep operation causes a manifold system to go into standby mode for the specified time units. The wakeup operation causes a manifold system to resume its operation.
        The location interface supports the operations
get_current_location, set_current_location and roaming. The get_current_location operation returns the current location of a manifold system or element within a network of manifold systems. The set_current_location operation sets the location of a manifold system or element. The roaming operation specifies whether the location of a manifold element is fixed or it varies with time. This can be useful when simulating a mobile network.
        The complex system models described using Manifolda can be targeted to different operating environments.
These include
1. Teraptor Player, which is a model-driven system simulator. Teraptor Player uses the SSDL and SMDL models of a system to create a virtual prototype of the system. The non-processor components of the system are described using C/C++. The Teraptor Core Channel library components like RAM, Flash memory, Cache, MMU, USART etc.
2. SANKHYA Infiniproc [8] is a distributed described using CORBA IDL interfaces and defined in C++ to be executed in parallel over multiple server nodes. The platform can be used to create a powerful distributed grid that can solve complex problems.
3. FPGA - Intelligent elements and interconnection network can be realized using FPGA or ASIC implementations.
V. SYNTHETIC MANIFOLD: DESIGN FLOW AND SYSTEM
ELABORATION
The Teraptor Synthetic IoT Platform offers tools and libraries to automatically synthesize a manifold system from its models. The synthetic manifold can be implemented as a distributed software grid, hardware (FPGA, ASIC) or as a virtual system that can be played on Teraptor Player - a system simulator. These tools take care of the synthesizing the individual elements, the network and communication between elements.
        Fig. 3 shows the complex intelligent system design flow using the SANKHYA Teraptor Synthetic IoT Platform. The top-level system architecture (Complex Intelligent System Models - CISM) and intelligent element models (IEM) are specified using Manifolda. These models are provided as input to the Teraptor System Compiler to synthesize System Model (SSDL), Interface models (CORBA IDL) and behavior models (C/C++). These can be further synthesized into hardware description (FPGA, ASIC), distributed software grid (SANKHYA Infiniproc) or components for playing using Teraptor Player. The SANKHYA Infiniproc platform allows construction of data factory to process large amounts of data in real time. This finds application for example in high- performance computing, financial trading and analysis.
The models of processor or SoC components of the system are described using SMDL and SSDL. These models can be realized as hardware or software as before. These models can also be provided to the Teraptor Verifier to generate processor test programs to verify the processor components.
        The platform also includes Software Develop Kit to compile software programs to the target processor architecture.
Fig. 3 Complex Intelligence System Design Flow
VI. SYNTHETIC MANIFOLD: APPLICATIONS
The Teraptor Synthetic IoT Platform enables modeling and synthesis of complex intelligent systems. The platform finds application in the areas of computer graphics, image processing, aerodynamic modeling, big data applications (query processing, analytics), mapping, machine learning, cognitive element computing, 2-D, 3-D Chip design, multi- core computing, shape computing, topological computing, 3-D printing, robotics, Internet of Things (I-o-T), Swarm Internet of Things, Cognitive I-o-T, medical imaging, space modeling, environmental modeling, distributed operating system, mobile network simulation, N-tier Service Oriented Architecture (SOA), Self-Programmable Gate Array (SPGA) Design, SPGA Application Design, and design slicing using model layer extension.
        SANKHYA NextTrade [9] is a synthetic manifold built over InfiniProc that provides a real time high velocity grid for computing billions of operations per second generating signals of interest for financial trading or analytics business.
A functional smart grid prototype [10] was created in a short time using the Teraptor Synthetic IoT Platform.
A connected vehicle prototype [11] was modeled and designed using the platform.