Skip to content

Commit

Permalink
Updated for 2023-10.
Browse files Browse the repository at this point in the history
  • Loading branch information
seidewitz committed Nov 7, 2023
1 parent 23b81a2 commit 43dcb2a
Show file tree
Hide file tree
Showing 65 changed files with 882 additions and 181 deletions.
Binary file modified doc/1-Kernel_Modeling_Language.pdf
Binary file not shown.
Binary file modified doc/2a-OMG_Systems_Modeling_Language.pdf
Binary file not shown.
Binary file modified doc/2b-SysML_v1_to_v2_Transformation.pdf
Binary file not shown.
Binary file modified doc/3-Systems_Modeling_API_and_Services.pdf
Binary file not shown.
Binary file modified doc/Intro to the SysML v2 Language-Textual Notation.pdf
Binary file not shown.
Binary file modified install/eclipse/org.omg.sysml.site.zip
Binary file not shown.
Binary file modified install/jupyter/README.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion install/jupyter/install.bat
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@echo off

set /A SYSML_VERSION="0.35.0"
set /A SYSML_VERSION="0.36.0"

echo --- Step 1: Testing Conda installation ---
where conda
Expand Down
2 changes: 1 addition & 1 deletion install/jupyter/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

set -e

SYSML_VERSION="0.35.0"
SYSML_VERSION="0.36.0"

echo "--- Step 1: Testing Conda installation ---"
command -v conda || (echo "Conda is not installed. Please install Conda and re-run." && return 1)
Expand Down
14 changes: 14 additions & 0 deletions kerml/src/examples/KerML Spec Annex A Examples/A-2-Atoms.kerml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package Atoms {
doc
/* This package defines a keyword (atom) for classifiers with
* exactly one instance and are disjoint from any others
* marked with this keyword.
*/

private import Metaobjects::Metaobject;

classifier Atom;
metaclass <atom> AtomMetadata specializes Metaobject {
baseType = Atom meta KerML::Classifier;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package ModelingInstances {
doc
/*
*/

classifier Vehicle;
classifier Bicycle specializes Vehicle;
classifier MyBike [1] specializes Bicycle;
classifier YourBike [1] specializes Bicycle disjoint from MyBike;
}

package ModelingInstancesWithAtoms {
doc
/*
*/

import Atoms::atom;

classifier Vehicle;
classifier Bicycle specializes Vehicle;

#atom
classifier MyBike specializes Bicycle;
#atom
classifier YourBike specializes Bicycle;

/* Assigning feature values. */

classifier Garage {
feature stores : Bicycle [*];
}
classifier OurBicycle unions MyBike, YourBike;

#atom
classifier OurGarage specializes Garage {
feature redefines stores : OurBicycle [2];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@

package WithoutConnectorsModelToBeExecuted {
doc
/*
*/

classifier Bicycle {
feature rollsOn : Wheel [2];
feature holdsWheel : BikeFork [*];
}
classifier Wheel;
classifier BikeFork;
}

package WithoutConnectorsExecution {
doc
/*
*/

import Atoms::*;
import WithoutConnectorsModelToBeExecuted::*;

#atom
classifier MyWheel1 specializes Wheel;
#atom
classifier MyWheel2 specializes Wheel;

classifier MyWheel unions MyWheel1, MyWheel2;

#atom
classifier MyBike specializes Bicycle {
feature redefines rollsOn : MyWheel;
}
}



Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@

package OneToOneConnectorsModelToBeExecuted {
doc
/*
*/

import WithoutConnectorsModelToBeExecuted::Wheel;
import WithoutConnectorsModelToBeExecuted::BikeFork;

classifier Bicycle {
feature rollsOn : Wheel [2];
feature holdsWheel : BikeFork [*];
connector fixWheel : BikeWheelFixed from rollsOn [1] to holdsWheel [1];
}
assoc BikeWheelFixed {
end feature wheel : Wheel;
end feature fixedTo : BikeFork;
}
}

package OneToOneConnectorsExecution {
doc
/*
*/

import Atoms::*;
import OneToOneConnectorsModelToBeExecuted::*;
import WithoutConnectorsExecution::MyWheel1;
import WithoutConnectorsExecution::MyWheel2;
import WithoutConnectorsExecution::MyWheel;

#atom
classifier MyBikeFork1 specializes BikeFork;
#atom
classifier MyBikeFork2 specializes BikeFork;

classifier MyBikeFork unions MyBikeFork1, MyBikeFork2;

#atom
assoc MyBikeWheel1_Fork1_BWF_Link specializes BikeWheelFixed {
end feature redefines wheel : MyWheel1;
end feature redefines fixedTo : MyBikeFork1;
}
#atom
assoc MyBikeWheel2_Fork2_BWF_Link specializes BikeWheelFixed {
end feature redefines wheel : MyWheel2;
end feature redefines fixedTo : MyBikeFork2;
}

classifier MyBikeWheel_Fork_BWF_Link unions MyBikeWheel1_Fork1_BWF_Link, MyBikeWheel2_Fork2_BWF_Link;

#atom
classifier MyBike specializes Bicycle {
feature redefines rollsOn : MyWheel;
feature redefines holdsWheel : MyBikeFork;
connector redefines fixWheel : MyBikeWheel_Fork_BWF_Link [2] from rollsOn [1] to holdsWheel [1];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

package OneToUnrestrictedConnectorsModelToBeExecuted {
doc
/*
*/

import WithoutConnectorsModelToBeExecuted::BikeFork;

classifier Bicycle {
feature carrier : BikeBasket [*];
feature holdsWheel : BikeFork [*];
connector carrierFixed : BikeBasketFixed from carrier [*] to holdsWheel [1];
}
classifier BikeBasket;

assoc BikeBasketFixed {
end feature basket : BikeBasket;
end feature fixedTo : BikeFork;
}
}

package OneToUnrestrictedConnectorsExecution {
doc
/*
*/

import Atoms::*;
import OneToUnrestrictedConnectorsModelToBeExecuted::*;
import OneToOneConnectorsExecution::MyBikeFork1;
import OneToOneConnectorsExecution::MyBikeFork2;
import OneToOneConnectorsExecution::MyBikeFork;

#atom
classifier MyBikeBasket1 specializes BikeBasket;
#atom
classifier MyBikeBasket2 specializes BikeBasket;

classifier MyBikeBasket unions MyBikeBasket1, MyBikeBasket2;

#atom
assoc MyBikeBasket1_Fork1_BBF_Link specializes BikeBasketFixed {
end feature redefines basket : MyBikeBasket1;
end feature redefines fixedTo : MyBikeFork1;
}
#atom
assoc MyBikeBasket2_Fork1_BBF_Link specializes BikeBasketFixed {
end feature redefines basket : MyBikeBasket2;
end feature redefines fixedTo : MyBikeFork1;
}

classifier MyBikeBasket_Fork_BBF_Link unions MyBikeBasket1_Fork1_BBF_Link, MyBikeBasket2_Fork1_BBF_Link;

#atom
classifier MyBike specializes Bicycle {
feature redefines carrier : MyBikeBasket [2];
feature redefines holdsWheel : MyBikeFork [2];
connector redefines carrierFixed : MyBikeBasket_Fork_BBF_Link [2] from carrier [*] to holdsWheel [1];
}
}
Loading

0 comments on commit 43dcb2a

Please sign in to comment.