Component-based Implementation of Cyberattack Simulation Models
Katia P. Mayfield, Mikel D. Petty, Tymaine S. Whitaker, John A. Bland, Walter Alan Cantrell · 2019
One of the fundamental concepts of software engineering today is reusability. The capability to reuse selected components and assemble them in such way to satisfy specific user requirements is a challenge that is also faced by the simulation and modeling community. Although the primary interest is in the ability to combine and recombine components, there is also a problem on locating and selecting the components that will best fit the requirements. The component selection process has been proven to be NP-complete. This research focuses on the identification of components specific to Petri Nets with Players, Strategies, and Cost (PNPSC) which are used to model cyberattack patterns. PNPSC models are briefly described and a process of determining their basic components is presented. Such initial decomposition requires the previous knowledge of the intended granularity, level of functionality of the component. This study proposes the granularity at two levels: fine-grain, when a component is defined by a section of an existing PNPSC pattern or coarse-grain, when the component is an existent full PNPSC pattern. Formal specification of the definition of the components, selection and the process of combining them in a new model are defined and a set of examples demonstrates its applicability to cyberattack simulation models.