III. MANIFOLD SYSTEM SPECIFICATION AND MODELING
The Teraptor Synthetic IoT Platform allows different aspects of a system to be modeled using different modeling languages. These are described below.
A.SANKHYA System Description Language (SSDL)
SSDL is a language for describing system structure. The language supports model statements to specify behavior models (types) for different components of the system. These models can be implemented using different implementation languages but this information is abstracted out of the system model. The component statements allow system components of a specified type to be instantiated. The map statements allow relationships between components to be specified. SSDL allows description of System-on-chip, processor-based systems and system-of- systems.
B.SANKHYA Machine Description Language (SMDL)
SMDL is used for capturing the instruction-set architecture of processors. It supports hierarchical modeling of processor instructions consisting of instruction groups, instructions and operands. The instructions are described in multiple representations like behavior code, assembly code and machine code in a unified format. SMDL models are used by tools like code generator, assembler, linker, simulator to dynamically target to the target processor architecture. Teraptor Model Space Explorer and Verifier tools use the SMDL models to generate test programs that can be used to verify the processor. Processor models described using SMDL can be included as part of top-level system description and synthesized to FPGA, ASIC descriptions.
C. Manifolda
The language of Manifolda allows the description of intelligent manifold systems that can be used to solve several problems that are either difficult or almost impossible to solve using traditional computational languages and systems.
        By abstracting away the communication aspects of a system, Manifolda significantly reduces the complexity of modeling complex systems. Therefore, Manifolda is suitable for building highly distributed systems such as Big Data, Internet of Things and Connected Vehicles. The rich structural modeling capability of Manifolda also makes it an ideal language for describing virtual worlds for gaming, animation and simulation of physical worlds.
Through the use of basic algebraic notation for behavioral modeling of dimenisoned elements, Manifolda supports the realization of manifold systems in the real world in many different ways such as distributed software, as an electronic system realized in a semiconductor chip, an FPGA or a quantum computing system.
Manifolda supports the following features that are useful for modeling manifold systems.
        Through the use of basic algebraic notation for behavioral modeling of dimenisoned elements, Manifolda supports the realization of manifold systems in the real world in many different ways such as distributed software, as an electronic system realized in a semiconductor chip, an FPGA or a quantum computing system.
        Manifolda supports the following features that are useful for modeling manifold systems
1. Support for declaring a dimensioned entity with multiple interfaces and behavior (computing, cognitive, transducer) to represent an intelligent element.
2. Support for defining concrete specializations of abstract dimensioned entities, which can describe computing, cognitive or transducer behavior and can be realized using transistor, Boolean, quantum computing or software logic.
3. Support for describing multi-dimensional planes of behavior elements or data elements.
4. Support for describing a transitive element which can be used for specifying the relationship between elements.
5. Support for concisely describing operations on planes of behavior elements and data elements.
6. Support for defining a synthetic manifold consisting of multitude of planes of behavior, transitive and data elements.