Summary: | 碩士 === 國立中央大學 === 資訊工程學系 === 107 === Now a day, most of programs having UI interfaces. Whether it is a website program or an operating system, the process of the programs is determined by the user's operating. So that, the interaction between the program and the user is more and more important. The design of such programs is often using event-driven design.
Event-driven programming is a common programming paradigm in which the flow of program is determined by the event such as user motions or messages from other programs. How difficult it is to design the event-driven programs is also depending on the programming language. Programming languages like C#, JAVA, PYTHON, etc., are easier to design event-driven programs because of the supporting of language itself. However, one of widely using language: C language, because of the lack of language-based support, can only design event-driven programs by the experience from designers.
This research will present a tool which is called “C Event Dispatcher”(CED) to assist programmers in writing event-driven programs in C language. The feature of CED tool is that it use different way to trigger the event handler. Without using timeout and signal, it use conditional expression to trigger the handler, giving user more flexibility to design event-driven program. User can use the mechanism of conditional expression to monitor a event variable, calling the event handler depending on the condition of the event variable. The CED tool also support the publish–subscribe pattern, increasing the flexibility of event-driven architecture and the maintainability of the code. The finite-state machine built by CED tool can dynamically decrease and increase the states in the finite-state machine. This advantage is suitable for using on the embedded system. It can make the embedded system more flexible and maintainable.
|