Modeling functional and para-functional concerns in embedded real-time systems
暂无分享,去创建一个
Embedded real-time systems are deployed in a wide range of application domains including transportation systems, automated manufacturing, defense, aerospace and telecommunications. These systems must satisfy not only logical functional requirements but also para-functional properties such as timeliness, Quality of Service (QoS) and reliability. Traditional development languages to build a functional structure that reduces complexity and enables software reuse. However, the software elements responsible for the para-functional behaviors are frequently scattered throughout the functional structure. This scattering prevents the easy identification of these elements and their independent manipulation/reuse to achieve a specific para-functional behavior. As a result, the complexity of para-functional behaviors cannot be reduced and even worse, the construction of those behaviors can corrupt the functional structure of the software.
In this thesis, we propose a model-based framework for designing embedded real-tune systems to enable a decomposition structure that reduces the complexity of both functional and para-functional aspects of the software. This decomposition enables the separation of the functional and para-functional aspects of the system into semantic dimensions (e.g. event-flow, timing, deployment) that can be represented, manipulated and modified independent of each other from an end-user point of view. The realizations of these dimensions, however, do interact on the target platform since they consume common resources and impose constraints. These interactions can also be captured during model construction and resource demands mediated during platform deployment. The use of semantic dimensions results in three significant benefits. First, it preserves the independence of the functional structure from para-functional behaviors. Secondly, it enables the user to manipulate different para-functional concerns (e.g. timeliness, reliability) independent of each other. Lastly, it enables the reuse of compositions along any dimension from other systems. The second core coupler expresses a particular relationship between two or more components, and can also be used recursively. Couplers enable the hierarchical decomposition of functional as well as para-functional aspects. Aided by semantic dimensions and multiple coupler types, our framework enables the auto-generation of glue-code to produce a fully deployable system. Our framework can also construct a detailed timing and resource model. This model in turn is used to optimize the usage of a given hardware configuration, or synthesize a configuration to suit a given software model.
We demonstrate our framework by the construction of a tool called Time Weaver, and evaluate it by modeling three realistic case studies: an avionics system, an automotive system, and a signal exploitation system.