Abstract: Software development for complex systems requires
efficient and automatic tools that can be used to verify the
satisfiability of some critical properties such as security ones. With
the emergence of Aspect-Oriented Programming (AOP), considerable
work has been done in order to better modularize the separation of
concerns in the software design and implementation. The goal is to
prevent the cross-cutting concerns to be scattered across the multiple
modules of the program and tangled with other modules. One of the
key challenges in the aspect-oriented programs is to be sure that all
the pieces put together at the weaving time ensure the satisfiability
of the overall system requirements. Our paper focuses on this problem and proposes a formal property
verification approach for a given property from the woven program.
The approach is based on the control flow graph (CFG) of the
woven program, and the use of a satisfiability modulo theories (SMT)
solver to check whether each property (represented par one aspect)
is satisfied or not once the weaving is done.
Abstract: Tasks of an application program of an embedded system are managed by the scheduler of a real-time operating system
(RTOS). Most RTOSs adopt just fixed priority scheduling, which is not optimal in all cases. Some applications require earliest deadline
first (EDF) scheduling, which is an optimal scheduling algorithm.
In order to develop an efficient real-time embedded system, the
scheduling algorithm of the RTOS should be selectable. The paper presents a method to customize the scheduler using aspectoriented
programming. We define aspects to replace the fixed priority scheduling mechanism of an OSEK OS with an EDF scheduling
mechanism. By using the aspects, we can customize the scheduler
without modifying the original source code. We have applied the
aspects to an OSEK OS and get a customized operating system with
EDF scheduling. The evaluation results show that the overhead of
aspect-oriented programming is small enough.