System Behavior Specification Verification and Validation (V&V)
Abstract
This chapter provides practitioners with an approach to verify and validate existing system behavior specifications using the Monterey Phoenix (MP) language, approach, and tool. First, a behavior specification is obtained in its native language, such as systems modeling language (SysML). If the mission, system behavior, or process that modeled is lengthy, it is partitioned into separate specifications for each phase. Each specification is then transcribed into an MP model and elaborated with potential alternative event flows. Next, each model is probed for emergent behaviors by running it through the MP event trace generator to produce the scope-complete set possible execution traces. The user inspects the traces for the presence of expected behaviors (supporting verification) and scans for the presence of potential unexpected yet plausible behaviors (supporting validation), documenting the findings. The findings are then used to update the original behavior specification, which may include the imposition of previously undocumented requirements, constraints, or assumptions that are newly realized. For a practitioner concerned about as-yet unknown, unexpected, and unwanted behaviors, a scope-complete set of MP execution traces generated from their specification represents a substantial data source that can be mined for the discovery of previously unrealized event flows that could arise as “extra” behaviors in the absence of any constraint to control them.
Leads
Kristin Giammarco
Naval Postgraduate School
Publications
Auguston, M. (2009a). Software architecture built from behavior models. ACM SIGSOFT Software Engineering Notes 34 (5): 1–15.
Auguston, M. (2009b). Monterey phoenix, or how to make software architecture executable. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, Orlando, FL (25–29 October 2009), 1031–1040. ACM.
Auguston, M., Kristin Giammarco, W., Baldwin, C., and Farah-Stapleton, M. (2015). Modeling and verifying business processes with Monterey Phoenix. Procedia Computer Science 44: 345–353.
Borshchev, A. and Filippov, A.. (2004). From system dynamics and discrete event to practical agent based modeling: reasons, techniques, tools. In Proceedings of the 22nd International Conference of the System Dynamics Society, Oxford, England (25–29 July 2004) (Vol. 22). System Dynamics Society.
Easterbrook, S., Robin Lutz, R., Covington, J. et al. (1998). Experiences using lightweight formal methods for requirements modeling. IEEE Transactions on Software Engineering 24 (1): 4–14.
Giammarco, K. (2022). Exposing and controlling emergent behaviors using models with human reasoning. In: Emergent Behavior in System of Systems Engineering (ed. L.B. Rainey and O.T. Holland), 23–61. CRC Press.
Giammarco, K. and Giles, K. (2017). Verification and validation of behavior models using lightweight formal methods. In: Proceedings of the 15th Annual Conference on Systems Engineering Research, Redondo Beach, CA (23–25 March 2017). Procedia Computer Science.
Hall, J., Le, K., Patel, K., and Savacool, M. (2022). Assessing interoperability between behavior diagrams constructed with system modeling language (SysML) and Monterey Phoenix (MP). Master’s capstone report. Naval Postgraduate School.
Jackson, D. (2012). Software Abstractions: Logic, Language, and Analysis (Revised edition). MIT Press.
Ruppel, S.R. (2016). System behavior models: a survey of approaches. Master’s thesis. Naval Postgraduate School.
Woodcock, J., Larsen, P.G., Bicarregui, J., and Fitzgerald, J. (2009). Formal methods: Practice and experience. ACM Computing Surveys (CSUR) 41 (4): 19.