A small group of Naval Postgraduate School (NPS) faculty has teamed up with NPS’ Center for Educational Design, Development and Distribution (CED3) to develop a software-based tool which has the power to bridge the disparate worlds of computer science and systems engineering.
The Monterey Phoenix specification language and software, created by Computer Science department Associate Professor Mikhail Auguston, utilizes user input to generate process flowcharts which model a wide range of system behaviors, enabling users to visualize multiple outcomes before embarking on coding the system.
Visually seeing the work flow of an entire system this way significantly reduces potential human error in the design process before a single line of code is ever written, according to Auguston.
“The initial steps [of the design process] are mostly pencil and paper work,” he said. “Humans using pencil and paper have the ability to make mistakes, and those mistakes can become very expensive ... This is where Monterey Phoenix comes in.”
The software tool does all of the heavy lifting of the ‘pencil and paper’ design process. The user simply describes relevant system actors – software, hardware, people, organization and/or environment – which are automatically rendered to create a graphic understanding of all possible scenarios.
“Most errors are not coding errors, but errors from the design and architecture of the code,” Auguston said. “There are steps that must be completed to move us from the problem to the final working code.”
The first step in the designing the system is simply to understand what the problem is. Once this root problem – the ‘requirement’ – is discovered, it must then be broken up into sub-tasks and the workflow drawn out to see how each sub-task and component in the system will collaborate with one another.
Finally, in the design of the system, more detail is given to each sub-task in order to understand how they will act and interact with each other.
“Monterey Phoenix completes these steps for us,” Auguston said.
Kristin Giammarco, NPS Associate Professor for Systems Engineering, compared using the software tool to an orchardist pruning branches of an apple tree to yield the best quality and quantity of apples.
“The orchardist has to look into the future as they’re pruning branches and think which branches to keep and which branches to reject,” she said. “They’ll prune it so they’re encouraging desired behaviors and reducing or eliminating undesired behaviors of the tree.”
Monterey Phoenix basically visualizes that unpruned tree, enabling the human to step in and decide which branches to keep and which to reject.
“Monterey Phoenix unravels all the possible behaviors of the system before they become reality and manifest in the actual system,” Giammarco explained. “Once we have a visual of them in front of us, we can steer the design to avoid the unwanted behaviors.”
“This is a challenge in systems engineering today: it’s tough to predict because you can’t exclude what you don’t think of,” she added. “Monterey Phoenix solves this.”
Auguston and Giammarco believe Monterey Phoenix to be user-friendly enough to be accessible to people of varied skill levels, and hope that one day the program will be included in the regular toolkit of those – within the NPS community and beyond – looking to solve any behavior-related problem.
“It’s not a [replacement] to what people are currently doing,” Giammarco said. “This is an addition that verifies and validates the completeness of the work they’ve already done. They can take their data and run it through a Monterey Phoenix analysis to get results that help them improve their design and their tools.”
The team hopes that any user that is familiar and comfortable with programs like Microsoft Excel can easily and fearlessly use the tool to find failures in the behaviors of their own systems. One NPS student even wrote a simple ‘how-to’ manual for new users who want to learn how to use it for their own processes.
“It seems like a lot of people look at Monterey Phoenix and think it looks too complicated or too much like computer programming, and they get turned off by that,” said Megan Mosher, an NPS graduate. “I wanted to create the guide because I think Monterey Phoenix is an awesome tool with a lot of great capabilities, and hopefully the guide helps make it more accessible to people who otherwise might not use it.”
The tool has gained sponsorship within the Department of Defense from the Office of Naval Research, Naval Air Systems Command, the Systems Engineering Research Center, and several other organizations, and in 2017 was the subject of a research paper awarded the “Best Transition in Systems Engineering Research” at the 15th Annual Conference on Systems Engineering Research.
Monterey Phoenix continues to grow in recognition outside of NPS, and now the developers are hoping members of the NPS community, even beyond, will put the system to the test. To check it out for yourself, visit http://firebird.nps.edu/ and Monterey Phoenix wiki site to try out the latest version.