Современные научные эксперименты — от ускорителей частиц до космических обсерваторий — становятся всё сложнее. Они состоят из множества компонентов: датчиков, электроники, систем охлаждения и, конечно, программного обеспечения, которое обрабатывает данные. Долгое время считалось нормой сначала создавать «железо», а уже потом писать под него алгоритмы. Но сегодня этот подход всё чаще даёт не лучший результат.
Учёные приходят к новой идее — совместному проектированию, или ко-дизайну, когда аппаратная и программная части разрабатываются одновременно и с учётом друг друга.