Wspólne projektowanie osadzonych systemów sprzętowych/programowych
Stale rosnący poziom złożoności osadzonych systemów, które obejmują składniki sprzętowe i programowe, wymaga wszechstronnych metodologii do obsługi procesu programowania na wielu poziomach abstrakcji. Najbardziej interesującym projektem była adaptacja dobrze znanych i przyjętych technik modelowania obiektowego i syntezy, które są powszechnie stosowane w branży programowania aplikacji. Istnieją jednak podstawowe różnice w naturze oprogramowania i sprzętu, przez co bezpośrednia adaptacja typowych języków programowania obiektowego nie byłaby możliwa. System C to biblioteka klas C++ i metodologia, która wprowadza brakujące, choć typowe funkcje sprzętowe do języka C/C++. W ramach projektu ODETTE dokonano przejścia z języka opisu sprzętu (Hardware Description Language — VHDL) VHSIC do Systemu C. Ta zmiana została dokonana głównie na życzenie partnerów branżowych projektu, którzy uznali, że jest to najlepszy sposób rozwoju. Co więcej, w laboratorium Synopsys we Francji stworzono dedykowane narzędzia do kosymulacji zachowania funkcjonalnego i temporalnego sprzętu i oprogramowania, które zapewniają specyfikacje wykonywania kompletnego systemu. CoCentric® System Studio – pakiet narzędzi do programowania i weryfikacji języka System C – umożliwia użytkownikom tego języka wykorzystywanie właściwości intelektualnych zaprojektowanych w języku VHDL. Co więcej, środowisko kosymulacji umożliwia symulowanie pełnego systemu sprzętowego i programowego, gdzie części programowe modelu są napisane w języku C/C++, a części sprzętowe w języku System C. Modelowanie pełnego systemu sprzętowego/programowego, który jest opisany w różnych językach, jest możliwe dzięki opcji współpracy środowiska modelowania System C z symulatorami HDL. Dynamiczny model behawioralny systemu sprzętowego i programowego w ramach interakcji z modelem środowiska może zapewnić niezbędne dane do pogłębionej analizy złożonych projektów. Na potrzeby takich zadań, jak uściślanie, partycjonowanie programowo-sprzętowego, symulacja i weryfikacja podczas procesu projektowania zapewniono obsługę narzędzi od najwyższych poziomów abstrakcji aż do poziomu transferu rejestru, a wszystko to w jednym środowisku.