cadCAD is a modeling framework and scientific computing library that enables safer, better designs of complex, adaptive systems. It also allows for faster system iteration cycles required for business decision-makers. In this modeling framework, systems are treated as state-based models and defined through a set of endogenous and exogenous state variables, updated through mechanisms and environmental processes, respectively. Behavioral models, which may be deterministic or stochastic, agent level or population level, provide the impetus for the system’s evolution, constrained only by the permissible action space of the mechanisms.

The objective was to eliminate the significant manual reconfiguration each time additional computational experiments were added to system design projects. It was adding weeks of delay to projects’ critical path, and it was clear that professional engineering on blockchain-enabled networks would be practically infeasible without the right computer-aided design (CAD) tools. There was no software to support 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. However, this full range of capabilities is necessary for proper system engineering, especially when adversarial behavior is commonplace.  

To fill this critical gap in open-source data science, cadCAD was conceived as an open-source and business-oriented equivalent to MATLAB (a closed-source scientific programming environment) with specialized toolboxes for decision systems design, system identification, and automation under uncertainty. It was built with two major design requirements serving as pillars of the value proposition:

- Flexibility to describe complex systems at any level of abstraction
- Continuous simulation and improvement with real-world feedback enabled by a seamless integration with the data science computing stack

cadCAD is capable of modeling systems with multiple levels of abstraction from micro-level Agent-Based Modeling (ABM) to macro-level System Dynamics (SD), supporting discrete, continuous, and hybrid dynamic behavior. With cadCAD, system engineers can simulate any system that can be formally characterized as a generalized differential equation or event-based differential game, starting with simple models and progressively building them into more complex ones. They can easily keep documentation of explicit assumptions in all dimensions and layers. Once deployed, cadCAD models can become part of the feedback loop of testing and decision making with data pipelines feeding data collected from the corresponding real-world systems back into the models and simulations. Leveraging extensive scientific computation and visualization libraries facilitates evolving these models as our understanding of them and the systems they represent deepens.

With cadCAD we want to empower and democratize token engineering as a practice with the ability to build up the commons with standardizable production models and deepen the public's understanding. Our work in reimagining the cadCAD engine with cadCAD Reference and implementing a professional-grade cadCAD.jl are concrete steps towards our greater vision.

https://blog.cadcad.org/token-engineering-newsletter/
https://blog.cadcad.org/cadcadv051-release-and-cadcadjl-announcement/

