The purpose of the Technology Viewpoint is to classify the elements of the problem and the solution around well-known software paradigms and technologies.
The following traceable architectural views explain the applied programming paradigms and technologies:
SAS_QP_OO : Object-oriented view |
---|
Description This architecture specification of the QP/C Framework assumes an object-oriented view, utilizing the concepts such as:
|
Concerns
|
Anti-Concerns The object-oriented view does not impose the choice of object-oriented programming language. In traditionally procedural languages, such as C, object-oriented concepts can be applied as design patterns. A set of such patterns for the C programming language is described in the reference Object-Oriented Programming in C [OO-in-C:23]. |
SAS_QP_EDA : Event-driven architecture view |
---|
Description The QP/C Framework is a reusable event-driven architecture (EDA), where all interactions are triggered by events, which are delivered asynchronously and are processed without blocking. |
Concerns
|
Anti-Concerns The EDA architecture underlying QP/C Framework is in contrast to the sequential architectures, such as a traditional Real-Time Operating System (RTOS), where the application explicitly awaits events in-line in the hard-coded blocking calls (e.g., time-delay, semaphore, etc.) |
SAS_QP_AF : Application framework view |
---|
Description QP/C Framework is an application framework defined as a reusable architecture for a specific problem domain (embedded, real-time systems in case of QP/C Framework). |
Concerns Application framework has the following key characteristics:
|
Anti-concerns Software organized as a framework significantly differs from software organized as a "toolkit", such as a traditional Real-Time Operating System (RTOS). |