From RTSC-Pedia
[printable version] [offline version] | offline version generated on 04-Aug-2010 21:08 UTC |
FAQ-080713-3
How does RTSC expand standard C to embrace software components
Contents |
The greatest challenge here lies with the C programming languageit simply lacks the essential expressive power of contemporary (component-friendly) languages like Java and C#, which significantly complicates the job of specifying, delivering, and assembling software components using C alone. At the same time, C has emerged over the past few decades as the ideal "medium-level" language for implementing embedded software, blending portable structured programming with efficient access to underlying hardware resources; replacing C with a more modern alternative is just not viable today, given the performance constraints faced by most embedded programmers.
RTSC addresses this dilemma by introducing two special-purpose languages that both supplement and complement standard C, granting embedded programmers entitlement to a new set of features needed to produce and consume software components without compromising the vital qualities of C. Termed eXpanDed C, the net result becomes a synergistic alliance of programming capabilities which, working hand-in-hand with standard C, elevates the language to an entirely new level:
Briefly, XDCspec serves as RTSC's specification languageused to formally define programmatic contracts (often termed APIs) between producers and consumers of software components in a higher-level manner than otherwise possible using C alone. XDCspec has its roots in the C-like IDLs (interface definition languages) first introduced with COM and CORBA in conjunction with C++ several decades ago, and embodies one of the fundamental principles of modern software engineeringclean separation of public, client-visible specifications from internal, supplier-proprietary implementations.
Along the implementation axis, we also mitigate some limitations of embedded C programming by introducing XDCscript as RTSC's meta-languageused by component producers and consumers alike to streamline delivery and assembly of real-time software components through (meta-)functions that execute on a resource-rich, general-purpose host computer. Complementing the more resource-constrained target-domain of embedded hardware executing embedded applications, RTSC's meta-domain opens up a world of possibilities for selectively migrating C-based target content to a higher-level language that operates in an implementation environment with virtually unlimited resources. XDCscript itself leverages industry-standard JavaScript for its foundation, extending this popular language through tighter coupling back to XDCspec and indirectly through to C itself.
See also
The RTSC Flow | From component production to component consumption |
[printable version] [offline version] | offline version generated on 04-Aug-2010 21:08 UTC |