You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-6
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,14 @@
4
4
SysMLinJava is a Java-based model development kit (MDK) for high-precision modeling of executable SysML models in the Java programming language. This repository contains nine example models that are based on SysMLinJava. Each example can be downloaded and imported into a IDE as a project. The SysMLinJava module, on which the example model will depend, should be in the IDE as another java project. The examples are fully tested and can be compiled, built, and executed within the scope of the IDE project.
5
5
6
6
## Installing the Example Models
7
-
The easiest way to install the example models is to download the full set of example models as a zip file from this repository and extract the model folders to a folder on your computer. Then use your IDE to create a java project for each of the example models you view, build, and/or execute and import or copy the code for the example models into their java projects. Make sure you include the "module-info.java" file for each model in its project so that the IDE can know how to compile and build the model code.
7
+
The easiest way to install the example models is to download the full set of example models as a zip file from this repository and extract the model folders to a folder on your computer. Then use your IDE to create a java project for each of the example models you wish to view, build, and execute. Then you can import or copy the code for the example models into their corresponding Java projects. Make sure you include the "module-info.java" file for each model in its project so that the IDE can know how to compile and build the model code. You may have to configure the project's build path to accomodate the module-info.java's required modules.
8
8
9
9
## Executing the Example Models
10
10
Your IDE should be able to automatically compile and build the example model from the module information and source code you added to your project. It should also automatically create the java command line to run/execute the model. The command should include the dependencies module path i.e. the --module-path or -p option, and the main class to be "run", i.e. the --module or -m argument. Then you can use the IDE's "run" feature to execute the model.
11
11
12
-
### Executaion Displays
12
+
Alternately, you may want to execute the example models via the command line interface (CLI). Each example model includes an ExecuteModel.bat file with the command, options, and arguments needed to execute/run the model. You can enter the command line into the CLI or simply execute the ExecuteModel.bat file to execute the model.
13
+
14
+
### Execution Displays
13
15
Each example model outputs a series of log messages to the console during its execution. In addition, the example models produce various "displays" of their parameters and/or behavior, e.g. textual representations of the state transitions, interaction sequences, timings, etc. as well as textual representations of graphical displays of data such as line charts, bar charts, etc. The SysMLinJava API/MDK contains a series of apps that can receive this textual data from the executing models and display it as log messages.
14
16
15
17
Soon, a tool will be available (for a modest fee) that provides actual graphical displays for model execution. This tool will provide real-time displays of state machines (as state transition tables), interactions (as sequence diagrams), and timings (as timing diagrams) during model execution, as well as displays of data as line charts, bar charts, HTML renders, scatter charts, and even animations of object in the executing model. The toll will also have a capability to automate the execution of all of the example models, including the configuration and startup of the graphical displays. The tool will also be able to provide browsable reports on the model's structure and behaviors. Together, this will make model execution easy to perform, more readily analyzed, and more pleasant to visualize.
@@ -25,9 +27,9 @@ The example SysMLinJava models demonstrate a variety of model types and patterns
25
27
### AIControlledDBSSystem
26
28
The AIControlledDBSSystem model demonstrates how to build a SysMLinJava model for control and monitor systems that use specific types of control mechanisms, in this case control based on a trained artificial neural network (ANN). It also demonstrates how to build a model that executes in multiple processes (JVMs). The example model includes a number of jar files that are needed to build, train, and execute the ANN. These dependencies are included in the model's "module-info" file and should be included on the java command line's "--module-path" for the applicable process. A .bat file for each of the processes used to execute the model is included in the example model folder for possible use in executing the model. Processes should be started in the following sequence.
27
29
28
-
-Controller container
29
-
-Sensor container
30
-
-Patient container
30
+
-Controller container
31
+
-Sensor container
32
+
-Patient container
31
33
32
34
### C4S2SystemsOfSystems
33
35
The C4S2SystemsOfSystems model demonstrates how to build a model for a "system-of-systems" where the systems include fixed and mobile systems that interface/communicate via unique protocols. The example model executes as a single process with each system component operating asychronously in separate threads.
@@ -61,6 +63,11 @@ The model of the electric circuit uses of the SysML proxy port to model the inte
61
63
This model's dependencies are specified in the model's "module-info.java" file. In addition to the standard Java API, it "requires transitive" only the SysMLinJava module.
62
64
63
65
### H2OStateMachine
66
+
The H2OStateMachine model demonstrates how to model a behavior (a continuous process) based on a SysML state machine. The object of the behavior is water (H2O) and its transitions from ice to liquid to gas to decomposed states. The H2OStateMachine is a SysMLinJava implementation of the SysML state machine for H2O found in the book "A Practical Guide to SysML - The Systems Modeling Language 3rd edition" by Sanford Friedenthal, et al; Object Management Group; Morgan Kaufman publisher; copyright 2015.
67
+
68
+
The model is almost exclusively an application of the SysMLinJava state machine. It generates the data for a state transitions table and timing diagram. A textual representation of the state transitions table and timing diagram can be produced by objects in the SysMLinJava API/MDF. A tool will soon be available (for a modest fee) that can display the state transitions table and timing diagram in graphical form.
69
+
70
+
This model's dependencies are specified in the model's "module-info.java" file. In addition to the standard Java API, it "requires transitive" only the SysMLinJava module.
64
71
65
72
### HFDataLinkedSystem
66
73
The C4S2SystemsOfSystems model demonstrates how to build a model for a "system-of-systems" where the systems interfce/communicate via "protocol stacks". The example model executes as a single process with each system component operating asychronously in separate threads. Some of the communications protocols also operate asynchronously as well.
@@ -71,4 +78,5 @@ The model consists of a command/control/computer/communications (C4)
71
78
72
79
### TrafficSignalControlSystem
73
80
74
-
## Comments, Questions, Training, Assistance
81
+
## Conact for Comments, Questions, Requests for Training or Assistance
82
+
Send any comments, questions, or requests for training or assistance to sysmlinjava@earthlink.net.
0 commit comments