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.