The Manifoldia Modelling Language
Abstract
Complex intelligent systems are characterized by a large number of diverse components of varying complexity operating together to deliver intelligent behavior. The conventional approach to developing such complex systems relies on picking off-the-shelf hardware (intelligent elements and network) and associated software and integrating them. This approach results in increased complexity and scaling issues since components from multiple vendors should be integrated. Also, the system behavior may be sub-optimal since an overall model of the system is not available for identifying and performing global optimizations. A model-driven approach to system design will allow such systems to be modeled at a higher-level of abstraction. The system components, the interconnection network and communication and synchronization between components can be automatically synthesized from the models. This approach ensures that intelligent behavior can be realized, reduces development complexity, results in globally optimized systems and is more scalable as the complexity of the system increases. This paper provides an overview of the SANKHYA Teraptor Synthetic IoT Platform for modeling and realizing complex systems.
Index Terms:Intelligent Systems, Big Data, Internet of Things, System Modeling, Modeling Languages, Synthetic Manifold
I. INTRODUCTION
THE advances in digital electronics, computer networks, communication technologies and software engineering has resulted in transforming every-day objects into 'smart' objects. We now have smart phones, smart toasters, smart washing machines, smart TVs and so on. When such smart devices are interconnected we get smart homes, smart cars, smart shopping malls, smart power grids and even smart cities.
        The term 'smart' refers to the ability to work autonomously, make decisions and interact with other objects. The availability of large amounts of computing power in embedded devices at low cost, improvements in sensory devices, communication technologies (like RFID, ZigBee, WiFi, NFC) and the use of internet technologies enables more and more objects (things) to be brought 'online'. As noted in [1] there is a shift from the Internet of Computers to the Internet of Things. According to an estimate by IDC, the Total Available Market for Internet of Things will be more than 7 trillion USD by 2017 [2].
Big Data processing requires handling huge volumes of data that is either obtained in real-time or stored in distributed locations. This requires huge computing resources and software techniques to efficiently distribute the data processing over available hardware resources. Big data processing finds application in scientific research, governance, social media, retail business and so on. An IDC study shows that Big Data technology and services market will grow to USD 32.4 billion by 2017 [3].
        The conventional approach to creating a network of smart (intelligent) devices or a Big Data system relies on using off- the-shelf hardware and software and integrating them. The components of such a network will include sensors, actuators, embedded computers (micro-controllers, SoCs), mobile devices, touch screen displays, network equipment, host computers for administration and so on. While commodity hardware and software is suitable for certain components of the system like host computers, and displays, they may be unsuitable or sub-optimal in other cases. For example, use of a general-purpose processor may be an over-kill for a device which does not require that complexity and computational power. Also, as the system grows large and more complex it becomes more difficult to manage the integration of different components from different sources. The absence of a high- level system model prevents global system optimization which is essential in a complex system like an IoT comprising of hundreds of millions of nodes.
        A model-based approach to system development helps in system analysis and optimization and tracking of requirements, design and implementation. Modeling languages like UML [4] and SysML [5] have been used for capturing requirements, describing system architecture, modeling interactions between system components and so on. It is also possible to automatically generate some aspects of the software system from these models. While languages such as the above have proved to be quite useful, there is a level of disconnect between the modeled system and the real-world system. This is due to the fact that while these models may be useful for analysis and simulation, it is not possible in most cases to realize (synthesize) the actual system components from the models. The synthesis of such components should either be done manually or using another set of modeling languages and tools. This increases the overall effort, training costs and complicates the system verification process.
        A solution to the above problem is to use a platform which supports modeling of different aspects of an intelligent system and supports verification and synthesis of the system from the models. The SANKHYA Teraptor Synthetic IoT Platform [7] supports modeling languages for top-level system architecture and behavior modeling (SANKHYA System Description Language - SSDL, Manifolda), intelligent element and other component modeling (Manifolda, C/C++) processor and SoC architecture modeling (SANKHYA Machine Description Language - SMDL and SSDL) and interface modeling (CORBA IDL). The platform also offers tools for system simulation, verification and synthesis using the models. The subsequent sections describe different aspects of this platform in more detail. Detailed information about SANKHYA Teraptor can be found in [6].