FAQ-080713-3

From RTSC-Pedia

Jump to: navigation, search
revision tip
—— LANDSCAPE orientation
[printable version]  [offline version]offline version generated on 18-Nov-2017 00:11 UTC

FAQ-080713-3

How does RTSC expand standard C to embrace software components

Contents

The greatest challenge here lies with the C programming language—it 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:

image:RhetoricalRTSC-Fig2.png

Briefly, XDCspec serves as RTSC's specification language—used 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 engineering—clean 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-language—used 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 18-Nov-2017 00:11 UTC
Copyright © 2008 The Eclipse Foundation. All Rights Reserved
Personal tools
package reference