MP consists of a simple event grammar with two basic relations: precedence (to establish event ordering) and inclusion (to establish event hierarchy). Behaviors are composed using operations like concurrency, alternative selection, and iteration, comparable to those used in Functional Flow Block Diagram (FFBD), Unified Modeling Language (UML), Systems Modeling Language (SysML), and Business Process Modeling Notation (BPMN) activity models. Unlike other executable modeling formalisms, MP provides for the exhaustive generation, visualization, and querying of event traces (or use case scenarios) up to the specified scope.
MP allows for the compact specification of distinct behaviors for each component, separately from interactions among components. Behaviors within different components are interleaved through the imposition of interaction constraints on events in the component models. While current approaches commonly use manual methods to generate behavior scenario variants, MP generates the exhaustive set of possible combinations of permitted behaviors up to a specified scope limit. MP leverages the Small Scope Hypothesis to expose most errors or other behaviors of interest on small examples (small number of loop iterations).
The Small Scope Hypothesis states that most errors can be exposed on small examples.* Using MP, a finite number of event traces are generated from a specification containing potentially infinite number of behaviors by simulating only a small number of iterations on loops contained in the model. Many errors of consequence have been exposed for correction at a modest scope of 1, 2, or 3.
* Jackson, D. Software Abstractions: Logic, Language, and Analysis; MIT Press: Cambridge, MA, USA, 2012.
We would like to recognize the important role that students have played in the discovery of emergent behaviors in MP models, especially the work by Joanne Pilcher, Brant Revill, Cassie Nelson, Jordan Bryant, Stephan Mathos, Anthony Constable, Cody Reese, Richard Thrutchley, and Chris Krukowski. John Palmer and Hannah Nilles contributed the first experiments with assigning probabilities to events in MP to compute whole scenario probabilities, a feature being added in MP version 3.5. John Quartuccio has contributed a methodology for writing behavior templates in MP to make behavior patterns searchable. Monica Farah-Stapleton has contributed a methodology for counting function points in MP models to estimate cost. Joey Rivera participated in the early days of MP research, developing a method and prototype software that uses event attributes to conduct quantitative analysis of MP models, a feature being added in MP version 3.5. Special thanks go to Megan Mosher for developing a beginners-level tutorial for MP, and for her help with the MP website.
We thank the NPS leadership and the Center for Educational Design, Development, and Distribution (CED3) for their support to the MP project.
We thank our research sponsors for their forward thinking and support of MP: