A method and apparatus for a fault injection tool having greater
flexibility, ease and portability in realizing the basic functionality of
the fault injection. The basic functionality of the fault injection
process is abstracted into three base classes, namely, a fault injector
(FI), a workload generator (WG) and a data collector (DC). A control class
performs configuration and management of the objects that are instantiated
from the base classes. The control class also implements a graphical user
interface. For each base class there is a corresponding core class that
performs control and management of a so-called associated "plugin". Each
of the core classes can be implemented as a single class or as a pair of
distributed classes. If a core class is implemented as a pair, the FI, WG,
or DC object controls operation of the FIRemote, WGRemote or DCRemote
object, respectively. For each core class, the associated plugin performs
the actual functionality. A plugin is a dynamically loaded object that can
be linked with the object instantiated from the core class without
recompilation of the core class. Each plugin includes at least a
corresponding base class and, possibly, hierarchical derived custom
classes from the base class. Many actions performed by plugins are
identical or similar for a wide range of fault injection, workload and
data collection processes. These identical and similar actions are
implemented in the abstract base classes. Intermediate classes can be
derived from the base classes, and additional intermediate classes or the
final end classes are derived from these intermediate classes.
Метод и прибор для впрыски недостатка оборудуют иметь большие гибкость, легкость и удобоносимость в осуществлять основную функциональность впрыски недостатка. Основная функциональность процесса впрыски недостатка резюмирована в 3 низкопробных типа, namely, инжектор недостатка (fi), генератор workload (WG) и сборник данных (dc). Тип управления выполняет конфигурацию и управление предметов instantiated от низкопробных типов. Тип управления также снабжает графическую поверхность стыка потребителя. Для каждого низкопробного типа будет соответствуя тип сердечника выполняет управление и управление so-called associated "plugin". Каждый из типов сердечника можно снабдить как одиночный тип или как пара распределенных типов. Если тип сердечника снабжен как пара, деятельность управлениями предмета fi, WG, или dc предмета FIRemote, WGRemote или DCRemote, то соответственно. Для каждого типа сердечника, associated plugin выполняет фактическую функциональность. Plugin будет dynamically нагруженным предметом можно соединить с предметом instantiated от типа сердечника без перекомпиляции типа сердечника. Каждое plugin вклюает по крайней мере соответствуя низкопробный тип и, по возможности, иерархические выведенные custom типы от низкопробного типа. Много действий выполненных plugins идентичны или подобны для широкийа ассортимент впрыски недостатка, workload и процессов собрания данных. Эти идентичные и подобные действия снабжены в абстрактных низкопробных типах. Промежуточные слои можно вывести от низкопробных типов, и дополнительные промежуточные слои или окончательные типы конца выведены от этих промежуточные слои.