Cubicon: a clean slate IoT architecture An interview with Sanford B
Transcription
Cubicon: a clean slate IoT architecture An interview with Sanford B
Cubicon: a clean slate IoT architecture An interview with Sanford B. Klausner, CEO, CoreTalk Corporation, San Jose, CA Can you briefly say a bit more about yourself? As a technology architect, I have spent the last 25 years immersed in the development of a clean slate approach for global computing with a particular focus on Machine-to–Machine (M2M) distributed processing. Thirty-five years ago I founded my first company, which designed a series of biomedical measurement instruments. At 26, I applied my knowledge of sensor-based systems to the Building Automation Systems (BAS) market, developing what became one of the most successful platforms for that industry. The Opus BAS now controls over 40,000 buildings worldwide, including all 8,000 Wal-Mart facilities. This second start-up, Automated Intelligence Corporation (AIC), was acquired by Novar Corporation and subsequently became a division of Honeywell. Since then I have devoted 100% of my efforts to creating Cubicon, an architecture that automates M2M networks the way my BAS architecture automated building systems. When did you first glimpse the vision of Cubicon? During the development of the Opus BAS in the 1980’s I discovered an effective medium of expression to convey complex system abstractions simultaneously to both people and machines. In the early days of microprocessors, there were no high level languages available to program a sophisticated, distributed system such as Opus. To meet this programming need, I developed a graphical programming language called Cubicon. The entire Opus platform was specified in color diagrams - down to the bit and pointer levels of abstraction; production programmers quickly transformed the diagrams into source and I cross-verified the compiled code back to the diagrams using a real-time emulator. This software production process was the path towards development of an executable design medium. I soon realized this fundamentally different approach to software engineering was an effective way to close the gap between human abstraction and machine execution of systems, applicable across a broad number of domains. I sold my interest in Novar to apply this methodology to the automation of software engineering, with a focus on M2M applications. I recognized the futility of assuming that the character string approach to software development will ever be able to exploit the richness of what people want computers to do, especially as the number of connected devices and things expands by orders of magnitude. I also began to envision ways that advanced software technology could support humanity’s need for new business models, political transparency and assurance of privacy rights. Can you explain Cubicon to reasonably expert people? A “think different” frame of mind is useful in understanding Cubicon architecture. Moreover, the fundamental purpose of the technology is to articulate complex abstractions in a formal manner through deep interwoven patterns that bring clarity to computer science concepts. Cubicon is a context-based Systems Language that expresses software using a graphicalbased Integrated Development Environment (IDE). It produces designs that directly execute on an IPv6-based Virtual Machine (VM). The VM is a secure system execution engine with real-time performance and small memory footprint for embedding into all devices and things. The Cubicon architecture supports contextualization, placing the meaning (semantics) of a concept into human context, forming an intelligent overlay on the Internet. Cubicon is enabling technology to greatly expand the IoT, far beyond what can be encoded even with evolutionary advances in character string-based programming languages. It addresses the critical software challenges of building out and operating sub-networks each with millions of things, and presenting information within specific contexts. Cubicon overcomes these challenges by effectively managing the immense programming and interoperability complexities for high performance M2M processing, especially when applied to real-time systems distributed across many disparate end-points. Encoding through the use of character strings has the following limitations: • Thousands of programming language dialects don't easily interact • String encoding remains susceptible to worms, viruses and attacks • System interfacing techniques are manual and error-prone • Software remains a ‘handcrafted‘ art in a pre-Industrial revolution style A new paradigm is essential if the software industry is ever going to keep pace with advances in the hardware industry, which has been following Moore's Law for more than four decades. Cubicon applies visual computing to the entire software development process through seven interlinked graphical perspectives of the Cube System Model that directly capture, map and execute human intent in a machine. It fuses distinct expression and representation to bring consistency into the systems abstraction process. Text is only used to identify such things as attributes and methods; all other tokens are expressed by an icon’s shape, color and motion. A single design and execution model does not require translation: the model is the machine. During the design process, a distributed system can be simulated prior to its physical deployment. A developer can assess a system’s fitness for purpose early in the software life cycle due to a traceable and evolvable source design. It uses a preventive approach for bug avoidance in contrast to the prevailing curative approach for uncovering bugs. Cubicon’s architecture also benefits from using the Systems Language to express its design. Over 4,000 icon-based blueprints specify core objects down to the bit-level. Over 12,000 animation frames detail the Integrated Development Environment (IDE)'s 24 windows, 260 panes and 2,100 widgets. Platform documentation represented in over 1,000 animation frames explains the syntax and semantics of the medium in lucid detail that any reasonable expert can assimilate. By extension, Cubicon will become an effective pedagogy tool, an effective way to train 21st Century knowledge workers the essentials of systems engineering. Automation enables direct systems manipulation by engineers, information architects, specialists and domain experts of Cubicon expressions without necessarily relying on programmers. To what extent is Cubicon clean slate? Cubicon is based on ‘first principle’ science based on a finite set of recombinant language elements used to construct all applications and apps. It is a ‘meta-standard’ technology that can be used to specify standards across domains of practice. The credo for programming languages since the advent of COBOL and Fortran remains that ‘the source code is the design.’ Solidifying and validating a design in source code is challenging because the mental process compresses domain comprehension and implementation details together as one act, thus it does not support the ‘separation of concerns’ principle. This principle states that a given problem involves different kinds of concerns, which should be identified and separated to cope with complexity, and to achieve the required engineering quality factors such as robustness, adaptability, maintainability and reusability. Cubicon’s Systems Language takes the opposite approach where the graphical design is the code. This approach recognizes the multi-dimensionality of systems space, leveraging human capacity to perform spatial pattern matching using fundamental building blocks in the expression, representation and sharing of a distributed system that is directly machine processable early in its design. The Systems Language is concept-based, meaning that an iconic expression can support multiple natural language overlays to a common binary representation for system execution across devices. In Cubicon, language constructs are graphically expressed as language elements. Nineteen language element types combine to form inherently interoperable applications and apps. Just as atomic elements in nature join into endless combinations to form everything around us, language elements recombine to construct all applications and apps. Each icon-based language element is fused to a binary meta-object and a Globally-Typed Identifier (GTI). GTIs provide absolute representation of resources and are the key architecture for securing cyberspace. Character string-based source code must be serially parsed into tokens before a machine can gain any sense of its ‘meaning.’ In contrast, a Cubicon source design is composed of a hierarchy of meta-objects that are also linked in a network. Meta-objects act like software ‘micromachines’ that automatically perform repetitive tasks during software design such as monitoring for side effects in a function or testing an assertion. This robust language architecture remains amendable to advancement of its tool automation foundation without turning into “spaghetti code” due to the ease of adding such platform extensions as atomic transactional operations. Additionally, micromachines can ‘reason’ about a program’s semantics without parsing, helping determine an optimal strategy for efficient execution over a concurrent network or parallel cores. This high level of automation leads to greatly improved software developer productivity, overcoming the workforce skills deficiency for developing effective and efficient distributed programs over billions of networked devices and things. “Productivity gains resulting from the IoT could add between $10 trillion and $15 trillion to global GDP over the next 20 years, according to a new study from General Electric (GE).” Relying on programming language architecture originally developed in the 1960’s to support this level of economic activity is just not practical. Does it leave openings to legacy approaches? Cubicon interoperates with legacy systems by embracing and extending current standards. Web - Cubicon’s Closure Model is a RESTful-like server interface that supports HTTP client requests Data - File, relational, object and XML data can be converted to Cubicon’s Context Data Model Document - Cubicon’s Context Document Model can represent content of XML, Word, PDF and HTML formats Ontological - Context architecture is superset of W3C specifications, enabling transformation of RDF Schema and triples Out API - A Cubicon operation can call an operating environment method through an argument signature in multiple text language data formats In API - A host operating-environment can call a Cubicon method safely and deterministically through assertions and software transactional memory (STM) Which stakeholders are most important in the possible adoption of Cubicon? Processor and network infrastructure commercial vendors form the optimal base for embedding an IPv6-based VM into all devices that communicate through a parallel set of protocols to the Web. Introducing a new software paradigm will be at least as challenging (but equally as essential!) as the hardware infrastructure’s changeover from vacuum tubes to transistors and integrated circuits. Accordingly, the first stakeholders are processor architecture owners as well as network operators. Second, a myriad of manufacturers will need to incorporate the VM into their devices to achieve broad interoperability across the IoT since language elements remain recombinant across communities. A common Community Repository architecture provides multiple stakeholders a concrete forum to co-develop, discover and share executable designs. All entities (person, company, organization and government) will comprise the third set of stakeholders, which need an effective infrastructure that supports context-aware processing. The Semantic Web protocols lack architecture to ‘harmonize’ metadata across RDF/OWL triplestores, highlighting the urgent need for an alternative concept-based substrate for the IoT. The th current situation is akin to the early 20 Century when Edison’s DC (metadata in strings) technology eventually gave way to Tesla’s AC (concepts in integers) technology. This “War of Currents” analogy highlights the greater efficiency of transmitting binary data and concepts through low-bandwidth channels as well as (semantic) processing in low-power devices. Moreover, the new sustainable energy economy will be distributed and localized using advanced supply/demand response and transactional control capabilities, requiring ‘intelligent’ software agents to coordinate this vast real-time complexity. Technological progress for society has shifted beyond an effective power grid to the requirement for an effective ‘knowledge grid’ between entities and devices that operate in a transparent fashion across all stakeholders. The aim is to advance critical industries that power, move and treat the world. Cubicon combines the software automation and context-based processing efficiencies of a clean slate approach with flexible interface points to legacy systems. It is an architecture designed to support the best of both worlds. Cubicon science takes the concept of “key building blocks” to the theoretical limit through its language element types. Their recombinant nature will reverse the tide of ‘balkanization’ to accelerate an interoperable infrastructure for the global IoT. Cubicon will enable entities to utilize efficient and easy-to-use intelligent networked devices in a manner that supports trust frameworks, identity management and data privacy. These characterizations require global digital provenance capability, the ability to assign responsibility to actions and the means to trace resource ownership in a secure manner. There is little evidence that direct extension of extant protocols can achieve this level of network robustness. Interfacing strategies between the wide range of protocols, interfaces and algorithms must give way to a synthesis approach to achieve architectural convergence. The Cubicon VM hides the complexity of heterogeneous exchange services using context-aware processing that supports common ‘understanding’ between networked devices. Cubicon architectural blueprints describe a declarative language in bit-level detail, a dynamic orchestration mechanism, intrinsic security, personal data management, resource discovery and a converged hardware/software model. With these architectural bases covered, IoT architects can leverage their deep understanding of IoT requirements to help vet this new computer science.