Applying Object-Oriented Techniques in Embedded Software Design

semanticscholar(2002)

引用 0|浏览0
暂无评分
摘要
Efficiency is a major concern for real-time systems. Realtime software is often written in assembly or other low level languages like C. Programmers hesitate to use newer objectoriented techniques since these are perceived as less efficient. This work explores the OO design techniques for embedded operating system, taking into account real-time goals so that the design is efficient and meets system deadlines. The embedded system kernel being designed is based on Dataflow Architecture. This architecture, which supports asynchronous communication amongst the various components through communication channels, was chosen since it addresses the objectives of modularity, standardization and reusability of Power Electronics Building Block (PEBB) systems, by the use of Elementary Control Objects (ECOs). An ECO is a functional entity in the PEBB system that can be used independent of the system details, in a variety of systems. It thereby serves as a modular, standardized and reusable component. An entity like the ECO comes across as ideal to be modeled and implemented as an object; i.e., using the OO approach. More over, since the advantages of objectorientation are in line with our objectives of modularity, standardization and reusability, it is ideal to implement the system as an object-oriented one. For instance, an ECO can be represented by a class. If this class is used to represent the general attributes and certain generic functions of all ECOs, then we can inherit specific types of ECOs from this class, that differ in their implementation code due to their functional differences. The ECOs are connected with each other to form the required PEBB system, and communicate with each other through communication channels, known as Data Channels since they carry data between ECOs to facilitate inter-ECO data flows. The Data Channels are also represented by classes. Data Channel objects differ in their type based on the type of data that they carry. ECOs operate based on Firing Rules. A firing rule is a set of priority firing masks, each of which defines one of the possibilities that will cause an ECO to “fire” or begin operation. A firing mask is a bit pattern that has bits set in positions corresponding to input data channels that need to have data for the ECO to fire and a priority firing mask is the combination of a firing mask and an integer priority representing the priority that the ECO will acquire when it gets triggered by that mask. The paper discusses the design of the object-oriented kernel and comparisons of the C version of the kernel (DARK – Dataflow Architecture Real-time Kernel) and its C++ version, DARK++. The following section gives an insight into the performance problems that object-oriented systems pose and the reasons for them. Section III describes the OO design of DARK++. Section 1V does a comparison of the C and the C++ kernels. The paper concludes with the most important lessons learnt so far from the research and a brief note on the future work.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要