Introducing Complex Adaptive Dynamics Computer-Aided Design (cadCAD)

Jun 3, 2019 · 5 min read

By Michael Zargham with Charles Rice

“Simple can be harder than complex. You have to work hard to get your thinking clean to make it simple.” Steve Jobs, Interview with BusinessWeek, 1998

Update: We are now open-source! During TEGG in Berlin in August 2019, we made the announcement to make cadCAD an open-source project. Join our community at and

When the Recording Industry Association of America sued music startup Napster in 1999, expert testimony demonstrated that the widespread, but unlawful, sharing of copyrighted music increased music sales for the most-shared artists, contrary to expectations. The jury, however, was instructed to disregard this testimony as implausible and misleading.

The testimony described what we now call a network effect. And what seemed implausible and counterintuitive in 1999, today forms the basis of many startups’ value propositions and valuations.

What accounts for this apparently radical shift?

In 1999, network effects were really only studied by social science researchers. In 2018, the era of Facebook and social media, network effects are a meme. We know what they are intuitively, but we probably couldn’t give a formal explanation. Network effects have become part of our model.

We all maintain mental models of how the world works, and they’re generally precise enough for day-to-day use. But below our understanding of the world lurks a complex, adaptive, and dynamic landscape of interconnected natural, human, and digital systems. These systems form the tectonic plates of our lives and we naturally evolve alongside them.

As our world becomes more interconnected, we are forced to integrate our mental models of previously distinct domains. From cyber-physical systems (e.g., IoT & automation) to socioeconomic systems (e.g., incentives & human behavior), society and technology are co-evolving in faster and more complex ways than ever before. The tectonic plates are moving faster, and we need better tools to understand how they are interacting.

Harnessing the power of a disruptive idea or technology is about recognizing this complexity while collapsing our designs into something simple, insightful, even obvious. To help us achieve this entrepreneurial nirvana we have created cadCAD, a modeling framework and powerful simulation tool for complex adaptive dynamics Computer-Aided Design.

Image for post
Image for post

Figure 1: Slide from complex systems conference by Dan Larremore, Professor at the University of Colorado Boulder; Computer Science & BioFrontiers Institute. On the left, a ‘pretty picture’ of a network. On the right, that same network ‘simplified’ into subsystems for analysis and simulation.

Military planners, defense systems engineers, and academic researchers have long used advanced system modeling and decision engineering tools to handle uncertain, unstructured, and adversarial environments. These tools, which include machine learning and other artificial intelligence techniques such as stochastic optimal control and system identification, are only just gaining attention and adoption in social science applications such as the engineering of business decision systems.

Image for post
Image for post

Figure 2: cadCAD as open-source and business-oriented equivalent to MATLAB, the closed-source scientific programming environment with specialized toolboxes for decision systems design, system identification, and automation under uncertainty.

In our three-article series ‘On the Practice of Token Engineering,’ we explored the profound social and economic implications of decentralized ledger technologies and implied a pressing need for sustainable system design given many of these networks will become permissionless public infrastructure (think Bitcoin) — much like roads or bridges. We discussed Token Engineering as an emerging professional discipline tackling this challenge, and the engineering mindset and processes required to tackle it well.

When it came to tooling, we identified a significant gap in the open-source scientific computing stack which we had painfully experienced at BlockScience during earlier system design projects (such as the co-op owned SaaS “discount token”). Each additional computational experiment required significant manual reconfiguration, delaying the critical path of a project by weeks.

There was no software to support the rigorous engineering of complex systems from the ground up — from the verification and validation of simple systems (subsystems/components) with explicit assumptions, up to more complex, stochastic, dynamically networked systems with emergent properties in line with specified requirements. This full range of capabilities, however, is necessary for proper system engineering, especially when adversarial behavior is commonplace. It became clear that without the right computer-aided design (CAD) tools, professional engineering on blockchain-enabled networks would be practically infeasible.

Blockchain networks, like any other automation technology, require the automation engineer to have a deep understanding of the system being automated. This understanding starts with system modeling, and ideally results in a ‘digital twin’ of the system, enabling the computer-aided design of any and all decision making policies. A properly automated system leverages an engineer’s expertise to allow business users — we call them “pilots” — to accomplish informed decision-making at any point in time (“Pilot’s Loop” in Figure 3), but without requiring them to delve into the complexity of the underlying system. cadCAD lifts a heavy burden off engineers by enabling faster system iteration cycles (“Engineer’s Loop”) — faster by orders of magnitude.

Image for post
Image for post

Figure 3: Separation and interconnectedness of the workflows for creating and using a ‘digital twin’ CAD model.

When we set out to build cadCAD in early 2018, two major design requirements became the pillars of cadCAD’s value proposition:

  • Flexibility to describe complex systems at any level of abstraction
    and extensibility
  • Seamless integration with data science computing stack to allow
    continuous simulation and improvement with real-world feedback

Cognizant of the fact that rigorously designed complex systems are not only a function of the right tooling, but first and foremost of sound system modeling capabilities and experience, future articles will provide both contextual system engineering content and system model walkthroughs, besides deep dives into the current and future value proposition of cadCAD.

The BlockScience team aims to empower every team tackling complexity in pursuit of hard-fought simplicity.

BlockScience is a research and engineering firm specializing in the creation of digital twins of complex adaptive systems, enabling deep insight into their complex interdependencies, and ways to determine and avoid the conditions and thresholds for systemic failure. Follow us on Medium or Twitter to stay in touch. If your project requires professional system design support, drop us a line at


The Scientific Method & Robust Engineering Design applied…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store