/**
*
SysML in java
The SysMLinJava module is a java-based software
* framework for executable SysML model development. It allows the SyML modeler
* to achieve high-precision executable SysML models. Modeling in SysML has
* traditionally meant using a commercially available tool to draw the
* structural and behavioral elements of the model as SysML diagrams. This
* dependence on drawings has more often than not resulted in costly effort to
* learn and manipulate the drawing tool and imposed considerable frustration
* and limitation in modeling complex behaviors. In addition, the ability of the
* drawings-based tool to execute/test a model has been frustratingly limited
* and/or esoteric to the vendor product.
* High precision executable SysML models
SysMLinJava was developed to
* make extensive, precise, and executable models relatively easy to develop,
* analyze, and test. Whereas SysML is based-on the object-oriented paradigm,
* it's a natural progession to use an object-oriented programming language to
* develop and execute SysML models. Rather than fumble with drawing tools to
* specify model objects, the systems engineer can quickly generate model
* objects as Java classes using any of the myriad powerful easy-to-use Java
* software development IDEs available today. And the "ultimate" SysML modeling
* capability - the executable model - is easily realized through Java's
* extensive and powerful execution capabilities.
* SysML meta-model compliance
SysMLinJava was designed/developed to
* comply with the OMG standard for SysML - a drawings-based language. As a
* Java-based implementation, SysMLinJava cannot technically comply with the
* SysML standard. Therefore, SysMLinJava does not claim to be in technical
* compliance with the SysML standard, but rather SysMLinJava is a
* representation of the SysML meta-model in the Java programming language.
* Java class representation of SysML elements
The elements of SysML -
* blocks, state machines, value types, activities, etc. - are all mapped to
* SysMLinJava classes. The SysMLinJava classes represent the properties of the
* SysML elements as Java variables and methods. The block values, for instance,
* are represented as Java variables that are specializations of the {@code
* SysMLValueType}. Block operations and receptions are represented by Java
* methods. The block's state machine is represented by a variable that is an
* extension of the {@code SysMLStateMachine} class. And so forth. The details
* of the SysMLinJava model elements are explained in their respective .java
* source files. Review of these model elements will clarify the relatively easy
* and straightforward application of the SysMLinJava framework to SysML-based
* systems modeling.
* Open and independent module
Of course, all of the packages in the
* module are exported for use by other modules that define SysMLinJava models.
* The module's only required modules are those of the Java API.
*/
module sysMLinJava
{
exports sysmlinjava;
exports sysmlinjava.analysis.bom;
exports sysmlinjava.analysis.bom.annotations;
exports sysmlinjava.analysis.barcharts;
exports sysmlinjava.analysis.common;
exports sysmlinjava.analysis.statetransitionstransmitters;
exports sysmlinjava.analysis.linecharts;
exports sysmlinjava.analysis.animatedareadisplay;
exports sysmlinjava.analysis.statetransitions;
exports sysmlinjava.annotations.requirements;
exports sysmlinjava.annotations.parametrics;
exports sysmlinjava.annotations.tests;
exports sysmlinjava.annotations.events;
exports sysmlinjava.annotations.statemachines;
exports sysmlinjava.annotations.blockcontainers;
exports sysmlinjava.analysis.scatterplots;
exports sysmlinjava.annotations.dependencies;
exports sysmlinjava.analysis.interactionmessagetransmitter;
exports sysmlinjava.analysis.timingdiagrams;
exports sysmlinjava.analysis.interactionsequence;
exports sysmlinjava.connectors;
exports sysmlinjava.constraintblocks;
exports sysmlinjava.events;
exports sysmlinjava.kinds;
exports sysmlinjava.units;
exports sysmlinjava.probability;
exports sysmlinjava.comments;
exports sysmlinjava.requirements;
exports sysmlinjava.annotations.comments;
exports sysmlinjava.analysis.neuralnetdisplay;
exports sysmlinjava.valuetypes;
exports sysmlinjava.analysis.htmldisplay;
exports sysmlinjava.blocks;
exports sysmlinjava.common;
exports sysmlinjava.ports;
exports sysmlinjava.annotations.views;
exports sysmlinjava.quantitykinds;
exports sysmlinjava.annotations;
exports sysmlinjava.statemachine;
exports sysmlinjava.tests;
exports sysmlinjava.views;
requires transitive java.logging;
}