Skip to content
Snippets Groups Projects
Commit 927c2095 authored by Keane Reynolds's avatar Keane Reynolds
Browse files

Added model purpose and Author credit lines to several models

parent ff0a1672
No related branches found
No related tags found
No related merge requests found
Showing
with 234 additions and 79 deletions
/* Model of Authentication /* Model of Authentication
Author credits:
Created by K.Giammarco on 05/16/2017
Modified by K.Giammarco on 08/07/2017 for capitalization of state events
Modified by K.Giammarco on 08/07/2017 for ENSURE constraints
Purpose: Purpose:
This model demonstrates how to correctly model a user authentication This model demonstrates how to correctly model a user authentication
...@@ -16,9 +22,7 @@ Description: ...@@ -16,9 +22,7 @@ Description:
A demonstration that shows how to reject unwanted behaviors with ENSURE A demonstration that shows how to reject unwanted behaviors with ENSURE
constraints. constraints.
created by K.Giammarco on 05/16/2017
modified by K.Giammarco on 08/07/2017 for capitalization of state events
modified by K.Giammarco on 08/07/2017 for ENSURE constraints
References: References:
......
/* Model of Autonomous Car /* Model of Autonomous Car
Author credits:
Created by G. Kaminski, November 2015
Purpose: Purpose:
This model applies COORDINATE statements to link the content under the This model applies COORDINATE statements to link the content under the
...@@ -13,13 +17,13 @@ Description: ...@@ -13,13 +17,13 @@ Description:
A model of an autonomous car that was used to support a failure mode A model of an autonomous car that was used to support a failure mode
analysis of autonomous automobile technology (student project). analysis of autonomous automobile technology (student project).
Created by G. Kaminski, November 2015
References: References:
Search terms: Search terms:
Instructions: Try running with the COORDINATE statements commented out or removed. Instructions:
Try running with the COORDINATE statements commented out or removed.
Watch the differences in the traces. (Note: scope does not change this model) Watch the differences in the traces. (Note: scope does not change this model)
==========================================================*/ ==========================================================*/
......
/* Model of Beginner Use of MP /* Model of Beginner Use of MP
Author credits:
Created by K.Giammarco 2021-02-08
Purpose: Purpose:
This model uses its traces to provide an example of how to use MP as a This model uses its traces to provide an example of how to use MP as a
...@@ -12,7 +16,6 @@ more relevant to their specific goals. ...@@ -12,7 +16,6 @@ more relevant to their specific goals.
Description: Description:
A Simple Model of Beginner MP-Firebird Use A Simple Model of Beginner MP-Firebird Use
created by K.Giammarco 2021-02-08
This model provides an orientation for those just getting started using This model provides an orientation for those just getting started using
MP-Firebird. This text editor pane allows you to compose and edit code MP-Firebird. This text editor pane allows you to compose and edit code
......
/* Model of Cargo Screening /* Model of Cargo Screening
Author credits:
May 6, 2011, draft written by Mikhail Auguston, NPS, Monterey, CA
source:
Department of Homeland Security
Office of Inspector General
CBP's Container Security Initiative Has
Proactive Management and Oversight but Future Direction Is Uncertain
OIG-10-52 February 2010
Purpose: Purpose:
This model demonstrates using composite statements under roots to make a long chain of This model demonstrates using composite statements under roots to make a long chain of
...@@ -11,13 +21,6 @@ several more. ...@@ -11,13 +21,6 @@ several more.
Description: Description:
Cargo Screening process model Cargo Screening process model
May 6, 2011, draft written by Mikhail Auguston, NPS, Monterey, CA
source:
Department of Homeland Security
Office of Inspector General
CBP's Container Security Initiative Has
Proactive Management and Oversight but Future Direction Is Uncertain
OIG-10-52 February 2010
Error found: the original flowchart does not specify what happens if Error found: the original flowchart does not specify what happens if
selection_has_not_been_accepted, I've added PhysicalExamination selection_has_not_been_accepted, I've added PhysicalExamination
......
/* Model of Commercial Flight /* Model of Commercial Flight
Author credits:
Model of a commercial flight, November 27, 2013
Purpose: Purpose:
This example shows a system with many roots performing multiple actions, This example shows a system with many roots performing multiple actions,
...@@ -10,8 +14,6 @@ improve their models, and when to use COORDINATE instead. ...@@ -10,8 +14,6 @@ improve their models, and when to use COORDINATE instead.
Description: Description:
Model of a commercial flight, November 27, 2013
This model demonstrates the interlacing of root events as Phases This model demonstrates the interlacing of root events as Phases
and as Actors. The commented out code at the bottom represents and as Actors. The commented out code at the bottom represents
a simulation of COORDINATE statements with SHARE ALL statements before a simulation of COORDINATE statements with SHARE ALL statements before
......
/* Model of Cycle Pattern /* Model of Cycle Pattern
Author credits:
Created 2018-03-10 by K.Giammarco
Purpose: Purpose:
This model uses say statements to add commentary to the traces This model uses IF and say statements to add
commentary to the traces. Normally, when looking
at a model, a user must create the "story" for
each trace internally, or write it down somewhere.
With say statements, the story can be incorporated
into the model and sometimes automatically built,
depending on the model. Users may reference this
model when looking to use say or IF statements to
add the story to their traces.
Description: Description:
created 2018-03-10 by K.Giammarco
The model below describes a cycle in terms of a The model below describes a cycle in terms of a
series of one or more steps, each step either series of one or more steps, each step either
moving the system "forward" or "backward" as the moving the system "forward" or "backward" as the
...@@ -18,11 +28,6 @@ and "under", "increase" and "decrease", etc., or ...@@ -18,11 +28,6 @@ and "under", "increase" and "decrease", etc., or
discinyms (discipline-specific synonyms) as they discinyms (discipline-specific synonyms) as they
may appear in the preferred domain taxonomy. may appear in the preferred domain taxonomy.
Run the model for scopes 2, and 3 and inspect
the different possible patterns for Cycle.
Running at scope 1 will generate zero traces because
of the ENSURE constraint on line 29.
References: References:
Cycle_ISP Model for Systems Journal Article Cycle_ISP Model for Systems Journal Article
...@@ -32,6 +37,11 @@ Search terms: ...@@ -32,6 +37,11 @@ Search terms:
Instructions: Instructions:
Run the model for scopes 2 and 3 and inspect
the different possible patterns for Cycle.
Running at scope 1 will generate zero traces because
of the ENSURE constraint on line 29.
==========================================================*/ ==========================================================*/
SCHEMA Cycle_ISP_v2 SCHEMA Cycle_ISP_v2
......
/* Model of Dining Philosophers /* Model of Dining Philosophers
Author credits:
Purpose: Purpose:
This model demonstrates using COORDINATE, ENSURE, and IF statements
to come up with an answer to a sort of riddle. The logic and problem
solving potential of Monterey Phoenix is showcased through its ability
to come up with exhaustive solutions to multiple variations of a complex
puzzle with some code and constraints.
Description: Description:
Example 17, Dining_Philosophers.mp Example 17, Dining_Philosophers.mp
......
/* Model of Elevator /* Model of Elevator
Author credits:
Created by K.Giammarco circa 2011
Purpose: Purpose:
This demonstrates a simple model of an emergency scenario involving an
elevator, create from or blocks with very few constraints. This allows
for more variance, which leads to emergent behavior. Users should use
this as an example of how not constraining your model can be beneficial.
Constraints should only be limited to necesity, or to remove traces that
no longer need to be considered. When in doubt, add a constraint, and then
comment it out. Bring it back later if needed.
Description: Description:
Elevator Model Elevator Model
K.Giammarco circa 2011
This model demonstrates the modeling of situations and consequential events This model demonstrates the modeling of situations and consequential events
in MP. The pattern is: in MP. The pattern is:
......
/* Model of Find Advisor /* Model of Find Advisor
Author credits:
Purpose: Purpose:
This models the process of a new MP user coming to use MP for a project, getting
assistance for the project, and sticking with MP. The model does this using only
roots, composites, or blocks, and COORDINATE statements. Users should inspect this
model when considering the process of finding a mentor, or looking to learn how to
use COORDINATE statements to make a model.
Description: Description:
example63_Find_Advisor.mp example63_Find_Advisor.mp
...@@ -18,9 +28,6 @@ Because the same modeling approach can be used for human systems and technologic ...@@ -18,9 +28,6 @@ Because the same modeling approach can be used for human systems and technologic
it becomes possible to have integrated behavior models containing both humans and it becomes possible to have integrated behavior models containing both humans and
technology to study the possible interactions among them. technology to study the possible interactions among them.
Run for scope 1 (there is no iteration in this example, so increaasing the scope will not
produce more scenarios).
The "Sequence" or "Swim Lanes" layouts are the most appropriate for browsing traces here. The "Sequence" or "Swim Lanes" layouts are the most appropriate for browsing traces here.
The "Sequence" mode yields views very similar to the UML or SysML Sequence Diagrams. The "Sequence" mode yields views very similar to the UML or SysML Sequence Diagrams.
...@@ -30,6 +37,9 @@ Search terms: ...@@ -30,6 +37,9 @@ Search terms:
Instructions: Instructions:
Run for scope 1 (there is no iteration in this example, so increaasing the scope will not
produce more scenarios).
==========================================================*/ ==========================================================*/
/*————————————————————————————— /*—————————————————————————————
......
/* Model of Narcan Administration /* Model of Narcan Administration
Author credits:
Create by J. Bryant, May 2016
Purpose: Purpose:
This model demonstrates the administration of narcan by bystanders
in order to determin the possible consequences of allowing or even
encouraging bystanders to administer medication in an overdose scenario.
The model accomplishes this using or blocks and COORDINATE statements.
Users may find this model useful when looking into COORDINATE statements,
or scenarios with bystanders who could possibly become involve in whatever
process is being modeled.
Description: Description:
A first responder scenario involving the administation of a rescue A first responder scenario involving the administation of a rescue
medication (Narcan) to an overdose victim by a First Responder or a medication (Narcan) to an overdose victim by a First Responder or a
Bystander. Bystander.
Create by J. Bryant, May 2016
The model was developed to compare response times, but unexpected The model was developed to compare response times, but unexpected
scenarios emerged that was previously not considered. Trace 6 and others scenarios emerged that was previously not considered. Trace 6 and others
show a double administration of Narcan by both the bystander and the first show a double administration of Narcan by both the bystander and the first
......
/* Model of Knapsack Weight Limit /* Model of Knapsack Weight Limit
Author credits:
Purpose: Purpose:
This model demonstrates using GLOBAL limits to exhaustively calculate all
the combinations of items that can be put into a bag to not exceed the weight
limit. Users can reference this model to learn about solving logic problems
with MP constraints.
Description: Description:
Example 38 Knapsack Example 38 Knapsack
This is a case of well-known Knapsack Dynamic Programming Problem.
In general it is NP-hard and NP-complete
with respect to the number N of items and to the weight limit W.
It has been proven that the computational complexity is O(N * W),
see https://en.wikipedia.org/wiki/Knapsack_problem
This example demonstrates MP template for performing "brute force" search
for all optimal solutions within the given scope
(certainly not the optimal performance, but is acceptable for relatively
small N,in particular, it stabilizes at scope 4).
Run for scope 1 and up to 5 This example demonstrates MP template for performing "brute force" search
for all optimal solutions within the given scope
(certainly not the optimal performance, but is acceptable for relatively
small N, in particular, it stabilizes at scope 4).
References: References:
This is a case of well-known Knapsack Dynamic Programming Problem.
In general it is NP-hard and NP-complete
with respect to the number N of items and to the weight limit W.
It has been proven that the computational complexity is O(N * W),
see https://en.wikipedia.org/wiki/Knapsack_problem
Search terms: Search terms:
Instructions: Instructions:
Run for scope 1 and up to 5
==========================================================*/ ==========================================================*/
SCHEMA Knapsack SCHEMA Knapsack
......
/* Model of MP Architecture Specification /* Model of MP Architecture Specification
Author credits:
Purpose: Purpose:
This model demonstrates how a user might use an MP
IDE to develop an MP model. This model contains many
types of interactions and goes through the process of
making a model, so beginner and intermediate users may
find this model helpful for learning about the modeling
process or how specific MP statements (COORDINATE, IF,
SHARE ALL, SAY, GRAPH, etc.) can create relationships.
Description: Description:
Example 28 Example 28
MP compiler/trace generator architecture model MP compiler/trace generator architecture model
run for scope 1 or more
References: References:
...@@ -15,6 +25,8 @@ Search terms: ...@@ -15,6 +25,8 @@ Search terms:
Instructions: Instructions:
run for scope 1 or more
==========================================================*/ ==========================================================*/
SCHEMA MP_architecture SCHEMA MP_architecture
......
/* Model of Manufacturing Process /* Model of Manufacturing Process
Author credits:
Created by John Palmer August 2014
Purpose: Purpose:
This model demonstrates a manufacturing system made from only standard ROOT
statements, or blocks, SHARE ALL statements, iteration, and scope limits.
This manufacturing system has several actors simultaniously performing jobs,
so users may look to this model for a simple way of designing a system.
Description: Description:
Application of Monterey Phoenix Modeling to Manufacturing Product Systems Application of Monterey Phoenix Modeling to Manufacturing Product Systems
An example pre-dating MP-Firebird application that was used to generate scenarios An example pre-dating MP-Firebird application that was used to generate scenarios
for separately estimating probability, time and cost of each of these scenarios. for separately estimating probability, time and cost of each of these scenarios.
MP version 4 may be used to conduct such analysis with its native capabilities. MP version 4 may be used to conduct such analysis with its native capabilities.
Created by: John Palmer
August 2014
References: References:
...@@ -59,7 +67,7 @@ ROOT INSPECTOR: (* <0..3> Inspect ...@@ -59,7 +67,7 @@ ROOT INSPECTOR: (* <0..3> Inspect
( Accept | Reject ) ( Accept | Reject )
*); *);
Inspect: CheckPart ProvideAnswer; Inspect: CheckPart ProvideAnswer;
ROOT INSPECTOR2: (* <0..3> Inspect2 ROOT INSPECTOR2: (* <0..3> Inspect2
( Accept2 | Reject2 ) ( Accept2 | Reject2 )
......
/* Model of Martian Lander /* Model of Martian Lander
Author credits:
MP model written by M.Auguston following example 1 and Appendix B from
Farnam Jahanian, Aloysius Ka-Lau Mok
"Safety analysis of timing properties in real-time systems",
IEEE Transactions on Software Engineering
Year: 1986, Volume SE-12, Issue 9, pp.890-904
Purpose: Purpose:
This model demonstrates the use of COORDINATE statements to model
the relationships of an unlikely and unfamiliar situation, and then
make the situation easier to understand using charts and "comments"
from SAY statements. Users can reference this model for advice on
COORDINATE statements and using MP to add graphs and commentary to
traces automatically.
Description: Description:
Example 45. Real time system behavior modeling. Example 45. Real time system behavior modeling.
Landing system for Martian Lander. Landing system for Martian Lander.
MP model written by M.Auguston following example 1 and Appendix B from
Farnam Jahanian, Aloysius Ka-Lau Mok
"Safety analysis of timing properties in real-time systems",
IEEE Transactions on Software Engineering
Year: 1986, Volume SE-12, Issue 9, pp.890-904
The landing system operates in one of two modes: normal or emergency. The landing system operates in one of two modes: normal or emergency.
When the system is turned on (an external event), it operates in the When the system is turned on (an external event), it operates in the
normal mode. While in the normal landing mode, the pilot can control normal mode. While in the normal landing mode, the pilot can control
...@@ -45,6 +54,12 @@ START Systems start up, ...@@ -45,6 +54,12 @@ START Systems start up,
IOINT I/O device signals completion IOINT I/O device signals completion
TMRINT Timer Interrupt, occurs at least 100 ms after start of STMR TMRINT Timer Interrupt, occurs at least 100 ms after start of STMR
References:
Search terms:
Instructions:
Action Time in ms Action Time in ms
RACC 10 RACC 10
STMR 10 STMR 10
...@@ -57,13 +72,7 @@ IALT 20 ...@@ -57,13 +72,7 @@ IALT 20
CKDT 10 CKDT 10
RRM 10 RRM 10
run for scope 1 and up. Run for scope 1 and up.
References:
Search terms:
Instructions:
==========================================================*/ ==========================================================*/
......
/* Model of Prisoner's Dilemma /* Model of Prisoner's Dilemma
Author credits:
Michael Collins
August 10, 2020.
Purpose: Purpose:
This model demonstrates using MP to model the logic of a
game scenario. Users looking to model exhaustive logical
game scenarios may want to use this model as an example.
Description: Description:
The Prisoner's Dilemma The Prisoner's Dilemma
Michael Collins
August 10, 2020.
https://en.wikipedia.org/wiki/Prisoner%27s_dilemma
https://plato.stanford.edu/entries/prisoner-dilemma/#Symm2t2PDOrdiPayo
In this case, the classic model is the output in the traces In this case, the classic model is the output in the traces
of the model with the payouts as documented in of the model with the payouts as documented in
"Game Theory and Strategy" by Philip D. Straffin "Game Theory and Strategy" by Philip D. Straffin
Mathematical Association of America 1993
isbn: 0-88385-637-9
Chapter 12, page 73.
Different in this MP model is how the payouts Different in this MP model is how the payouts
are computed. Most models just assume the final are computed. Most models just assume the final
...@@ -62,6 +64,14 @@ The total payoff is computed from the assignments above and then subtracting 2. ...@@ -62,6 +64,14 @@ The total payoff is computed from the assignments above and then subtracting 2.
References: References:
https://en.wikipedia.org/wiki/Prisoner%27s_dilemma
https://plato.stanford.edu/entries/prisoner-dilemma/#Symm2t2PDOrdiPayo
"Game Theory and Strategy" by Philip D. Straffin
Mathematical Association of America 1993
isbn: 0-88385-637-9
Chapter 12, page 73.
Search terms: Search terms:
Instructions: Instructions:
......
/* Model of Railroad Crossing /* Model of Railroad Crossing
Author credits:
Purpose: Purpose:
This model demonstrates using BUILD statements to add time to a model of car
and train interactions at a railroad crossing, in which time is a defining
factor of many events. Users should look to this model when in need of an
example of using BUILD statements to add time, COORDINATE constraint usage,
CHECK statements used catch unwated behavior, and SAY statement comments to
improve a model's clarity.
Description: Description:
Example 27. Timing attribute use. Example 27. Timing attribute use.
......
/* Model of Replay Attack /* Model of Replay Attack
Author credits:
Purpose: Purpose:
This model demonstrates using COORDINATE statements
to form relationships in a communication system with
a 3rd party listening in. Users should use this model
as an example of possible 3rd parties in other systems,
and using COORDINATE statements to form relationships.
Description: Description:
......
/* Model of Small Package Delivery /* Model of Small Package Delivery
Author credits:
Non-combatant Scenario 1 authored by N. Roberts (Engility)
MP model authored by K. Giammarco (NPS) and D. Shifflett (NPS)
Purpose: Purpose:
This model demonstrates overusing COORDINATE and ENSURE statements to
create a model of a complex emergency situation that has been
overconstrained to the point that intended behavior has also been
constrained out. Users should consider this model a warning about how
attempting to form relationships in a complex scenario can actually
negatively impact a model.
Description: Description:
Taken from use case description in the Skyzer IM20 Mission Model Taken from use case description in the Skyzer IM20 Mission Model
...@@ -25,9 +37,6 @@ the family to safety. ...@@ -25,9 +37,6 @@ the family to safety.
Depends on: range, sea states, weather, visibility, day, Night. Is it Depends on: range, sea states, weather, visibility, day, Night. Is it
raining? Hailing?" raining? Hailing?"
Non-combatant Scenario 1 authored by N. Roberts (Engility)
MP model authored by K. Giammarco (NPS) and D. Shifflett (NPS)
This model shows only two scenarios due to overloading constraints This model shows only two scenarios due to overloading constraints
(constraints that suppress entire branches of execution that a user (constraints that suppress entire branches of execution that a user
intended to permit). intended to permit).
......
/* Model of Spent Fuel Cooling and Cleanup /* Model of Spent Fuel Cooling and Cleanup
Purpose: Author credits:
Description:
Cooling Pool
created by K.Giammarco 5/4/2020 created by K.Giammarco 5/4/2020
modified by K.Giammarco 5/8/2020 with D.VanBossuyt modified by K.Giammarco 5/8/2020 with D.VanBossuyt
modified by K.Giammarco 5/13/2020 with D.VanBossuyt modified by K.Giammarco 5/13/2020 with D.VanBossuyt
The purpose of this model is to identify the components of and Purpose:
interactions among a spent nuclear fuel cooling pool and its environment.
This model demonstrates identifying the components of
and interactions among a spent nuclear fuel cooling
pool and its environment. Users may use this model to
learn about interactions in a system and using COORDINATE
statements to make comments on relationships.
Description:
Cooling Pool
References: References:
......
/* Model of Spiral Software Process /* Model of Spiral Software Process
Author credits:
Purpose: Purpose:
Users may use this model to learn about SHARE ALL usage to make connections
Description: Description:
Example 16, model of the spiral software process Example 16, model of the spiral software process
...@@ -11,14 +17,14 @@ Example 16, model of the spiral software process ...@@ -11,14 +17,14 @@ Example 16, model of the spiral software process
are constrained to produce designs which are copies of the are constrained to produce designs which are copies of the
communication structures of these organizations." communication structures of these organizations."
run scope up to 5
References: References:
Search terms: Search terms:
Instructions: Instructions:
Run for scopes up to 5
==========================================================*/ ==========================================================*/
SCHEMA spiral SCHEMA spiral
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment