]> gerrit.simantics Code Review - simantics/sysdyn.git/commitdiff
Customer Model with two modules
authorlempinen <lempinen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Fri, 2 Jul 2010 13:35:24 +0000 (13:35 +0000)
committerlempinen <lempinen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Fri, 2 Jul 2010 13:35:24 +0000 (13:35 +0000)
git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@16491 ac1ea38d-2e2b-0410-8846-a27921b304fc

org.simantics.sysdyn/src/org/simantics/sysdyn/SysdynResource.java
sysdyn_ontologies/sysdyn.graph

index ed8ef24dbda3ef48eb144d1f9246cba7cd8745d2..f9c329fde662216eb9821da1d0cd5e4c2afc39fb 100644 (file)
@@ -20,6 +20,7 @@ import org.simantics.db.exception.DatabaseException;
 \r
 public class SysdynResource {\r
     \r
+    public final Resource Asiakasmoduuli;\r
     public final Resource Auxiliary;\r
     public final Resource AuxiliarySymbol;\r
     public final Resource BasicExperiment;\r
@@ -67,6 +68,7 @@ public class SysdynResource {
     public final Resource IsOutput;\r
     public final Resource IsTailOf;\r
     public final Resource IsTailOfTerminal;\r
+    public final Resource Kapasiteettimoduuli;\r
     public final Resource LookupExpression;\r
     public final Resource Module;\r
     public final Resource NormalExpression;\r
@@ -89,6 +91,7 @@ public class SysdynResource {
     public final Resource WithLookupExpression;\r
     \r
     public static class URIs {\r
+        public static final String Asiakasmoduuli = "http://www.simantics.org/Sysdyn-1.0/Asiakasmoduuli";\r
         public static final String Auxiliary = "http://www.simantics.org/Sysdyn-1.0/Auxiliary";\r
         public static final String AuxiliarySymbol = "http://www.simantics.org/Sysdyn-1.0/AuxiliarySymbol";\r
         public static final String BasicExperiment = "http://www.simantics.org/Sysdyn-1.0/BasicExperiment";\r
@@ -136,6 +139,7 @@ public class SysdynResource {
         public static final String IsOutput = "http://www.simantics.org/Sysdyn-1.0/IsOutput";\r
         public static final String IsTailOf = "http://www.simantics.org/Sysdyn-1.0/IsTailOf";\r
         public static final String IsTailOfTerminal = "http://www.simantics.org/Sysdyn-1.0/IsTailOfTerminal";\r
+        public static final String Kapasiteettimoduuli = "http://www.simantics.org/Sysdyn-1.0/Kapasiteettimoduuli";\r
         public static final String LookupExpression = "http://www.simantics.org/Sysdyn-1.0/LookupExpression";\r
         public static final String Module = "http://www.simantics.org/Sysdyn-1.0/Module";\r
         public static final String NormalExpression = "http://www.simantics.org/Sysdyn-1.0/NormalExpression";\r
@@ -168,6 +172,7 @@ public class SysdynResource {
     }\r
     \r
     public SysdynResource(ReadGraph graph) {\r
+        Asiakasmoduuli = getResourceOrNull(graph, URIs.Asiakasmoduuli);\r
         Auxiliary = getResourceOrNull(graph, URIs.Auxiliary);\r
         AuxiliarySymbol = getResourceOrNull(graph, URIs.AuxiliarySymbol);\r
         BasicExperiment = getResourceOrNull(graph, URIs.BasicExperiment);\r
@@ -215,6 +220,7 @@ public class SysdynResource {
         IsOutput = getResourceOrNull(graph, URIs.IsOutput);\r
         IsTailOf = getResourceOrNull(graph, URIs.IsTailOf);\r
         IsTailOfTerminal = getResourceOrNull(graph, URIs.IsTailOfTerminal);\r
+        Kapasiteettimoduuli = getResourceOrNull(graph, URIs.Kapasiteettimoduuli);\r
         LookupExpression = getResourceOrNull(graph, URIs.LookupExpression);\r
         Module = getResourceOrNull(graph, URIs.Module);\r
         NormalExpression = getResourceOrNull(graph, URIs.NormalExpression);\r
index 0d047e80af514539f9c182b715a3281c51a6505f..5b9e1c644230698d9ff4cfb42495652bdb3ba60c 100644 (file)
@@ -145,6 +145,9 @@ IndependentVariable <T Variable
     [L0.HasDescription card "0..1"]\r
 \r
 Auxiliary <T IndependentVariable\r
+  L0.Asserts _ : L0.Assertion\r
+    L0.HasPredicate L0.HasType\r
+    L0.HasObject "Real" : L0.String\r
 \r
 Valve <T IndependentVariable\r
   L0.Asserts _ : L0.Assertion\r
@@ -422,29 +425,26 @@ ModuleModel @ "ModuleModel" : SysdynModel
   L0.HasLabel "Malli" : L0.String\r
   L0.PartOf SysdynModuleTestProject\r
   SIMU.HasConfiguration ModuleConfiguration\r
+  HasStartTime "0.0" : L0.Double\r
+  HasStopTime "10.0" : L0.Double\r
       \r
   \r
 ModuleConfiguration @ "ModuleConfiguration" : Configuration\r
   L0.HasLabel "Mallikonfiguraatio" : L0.String\r
-  HasStartTime "0.0" : L0.Double\r
-  HasStopTime "10.0" : L0.Double\r
   L0.ConsistsOf\r
     Moduuli1 @ "Moduuli1" : Module1\r
       L0.HasLabel "EkaModuuli" : L0.String\r
     ToinenModuuli1 @ "ToinenModuuli1" : Module1\r
       L0.HasLabel "ToinenEkaModuuli" : L0.String\r
     RootAux1 @ "Aux1" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "m" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "1+1" : L0.String\r
     RootAux2 @ "Aux2" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "s" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "Aux1" : L0.String\r
     RootInput1 @ "rootInput" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "s" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "1000" : L0.String\r
@@ -472,13 +472,11 @@ Module1Configuration @ "Mod1Conf" : Configuration
     Moduuli2 @ "Moduuli2" : Module2\r
       L0.HasLabel "TokaModuuli" : L0.String\r
     FirstModuleInput1 @ "Aux1" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "s" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "2+2" : L0.String\r
       tag(IsInput)\r
     FirstModuleInput2 @ "Aux2" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "s" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "2+2" : L0.String\r
@@ -515,13 +513,11 @@ Module2 @ "SecondModule" <T Module
 Module2Configuration @ "Mod2Conf" : Configuration\r
   L0.ConsistsOf \r
     SecondModuleInput1 @ "Aux1" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "s" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "2+2" : L0.String\r
       tag(IsInput)\r
     SecondModuleInput2 @ "Aux2" : Auxiliary\r
-      L0.HasType "Real" : L0.String\r
       HasUnit "s" : L0.String\r
       HasExpression _ : NormalExpression\r
         HasEquation "2+2" : L0.String\r
@@ -548,3 +544,273 @@ Module2Configuration @ "Mod2Conf" : Configuration
       HasHead SecondModuleOutput1\r
       HasTail SecondModuleInput2\r
   \r
+  \r
+######################################################################\r
+# Customer model\r
+######################################################################\r
+\r
+\r
+_ @ "CustomerModel" : SysdynModel\r
+  L0.HasLabel "Asiakasmalli" : L0.String\r
+  L0.PartOf SysdynModuleTestProject\r
+  SIMU.HasConfiguration RootConfiguration\r
+  HasStartTime "0.0" : L0.Double\r
+  HasStopTime "10.0" : L0.Double\r
+  \r
+  \r
+RootConfiguration @ "RootConfiguration" : Configuration\r
+  L0.HasLabel "Konfiguraatio" : L0.String\r
+  L0.ConsistsOf\r
+    ### Modules\r
+    Customers @ "Asiakkaat" : CustomerModule\r
+      L0.HasLabel "Asiakkaat" : L0.String\r
+    Capacity @ "Kapasiteetti" : CapacityModule\r
+      L0.HasLabel "Kapasiteetti" : L0.String    \r
+    ### Variables\r
+    Price @ "Hinta" : Auxiliary\r
+      HasExpression _ : ParameterExpression\r
+        HasEquation "30" : L0.String\r
+    Sales @ "Myynti" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "UusiaAsiakkaita * WidgettejaHenkilolle" : L0.String        \r
+    CumulativeRevenue @ "KumulatiivisetTulot" : Stock\r
+      HasExpression _ : StockExpression\r
+        HasInitialEquation "0" : L0.String        \r
+    SalesRevenue @ "Myyntitulot" : Valve\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Myynti * Hinta" : L0.String      \r
+    DummyCloud : Cloud\r
+    ### Input variables\r
+    WidgetsPerPersonInput @ "WidgettejaHenkilolle" : Auxiliary\r
+    NewCustomersInput @ "UusiaAsiakkaita" : Auxiliary\r
+    WordOfMouthDemandInput @ "PuskaradioKysynta" : Auxiliary\r
+    CapacityInput @ "Kapasiteetti" : Auxiliary\r
+    ### Dependencies    \r
+    _ : Flow\r
+      HasHead SalesRevenue\r
+      HasTail DummyCloud\r
+    _ : Flow\r
+      HasHead CumulativeRevenue\r
+      HasTail SalesRevenue      \r
+    _ : Dependency\r
+      HasHead SalesRevenue\r
+      HasTail Price\r
+    _ : Dependency\r
+      HasHead SalesRevenue\r
+      HasTail Sales\r
+    _ : Dependency\r
+      HasHead Sales\r
+      HasTail NewCustomersInput\r
+    _ : Dependency\r
+      HasHead Sales\r
+      HasTail WidgetsPerPersonInput     \r
+    _  : Dependency\r
+      HasHead Customers\r
+      HasTail CapacityInput\r
+      RefersTo CapacityInput2\r
+    _  : Dependency\r
+      HasHead Customers\r
+      HasTail WidgetsPerPersonInput\r
+      RefersTo WidgetsPerPersonInput2\r
+    _  : Dependency\r
+      HasHead WordOfMouthDemandInput\r
+      HasTail Customers\r
+      RefersTo WordOfMouthDemandOutput\r
+    _  : Dependency\r
+      HasHead NewCustomersInput\r
+      HasTail Customers\r
+      RefersTo NewCustomers\r
+    _  : Dependency\r
+      HasHead WidgetsPerPersonInput\r
+      HasTail Capacity\r
+      RefersTo WidgetsPerPersonOutput\r
+    _  : Dependency\r
+      HasHead CapacityInput\r
+      HasTail Capacity\r
+      RefersTo CapacityStock\r
+      \r
+      \r
+CapacityModule @ "Kapasiteettimoduuli" <T Module\r
+  ST.IsDefinedBy CapacityModuleConfiguration\r
+\r
+CapacityModuleConfiguration @ "Kapasiteettimoduulikonfiguraatio" : Configuration\r
+  L0.ConsistsOf   \r
+    CapacityAdjustment @ "Kapasiteettisaato" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "(Tavoitekapasiteetti - Kapasiteetti)/Kapasiteetinsaatoaika" : L0.String\r
+    TargetCapacity @ "Tavoitekapasiteetti" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "PuskaradioKysynta * WidgettejaHenkilolle" : L0.String\r
+    DesiredProduction @ "Tavoitetuotanto" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Tavoitekapasiteetti" : L0.String\r
+    PotentialProduction @ "PotentiaalinenTuotanto" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Kapasiteetti" : L0.String\r
+    Production @ "Tuotanto" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "min({Tavoitetuotanto, PotentiaalinenTuotanto})" : L0.String\r
+    CapacityLife @ "Kapasiteettielama" : Auxiliary\r
+      HasExpression _ : ParameterExpression\r
+        HasEquation "20" : L0.String        \r
+    TimeToAdjustCapacity @ "Kapasiteetinsaatoaika" : Auxiliary\r
+      HasExpression _ : ParameterExpression\r
+        HasEquation "12" : L0.String     \r
+    WidgetsPerPersonOutput @ "WidgettejaHenkilolle" : Auxiliary\r
+      HasExpression _ : ParameterExpression\r
+        HasEquation "1" : L0.String       \r
+      tag(IsOutput)\r
+                    \r
+    DummyCloud2 : Cloud\r
+    DummyCloud3 : Cloud                        \r
+    CapacityStock @ "Kapasiteetti" : Stock\r
+      HasExpression _ : StockExpression\r
+        HasInitialEquation "Tavoitekapasiteetti" : L0.String\r
+      tag(IsOutput)        \r
+    Investment @ "Sijoitus" : Valve\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Kapasiteettisaato" : L0.String    \r
+    Reductions @ "Vahennys" : Valve\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Kapasiteetti/Kapasiteettielama" : L0.String     \r
+                   \r
+    ### Input variables\r
+    WordOfMouthDemandInput2 @ "PuskaradioKysynta" : Auxiliary\r
+      tag(IsInput)\r
+\r
+    ### Dependencies    \r
+    _ : Flow\r
+      HasHead Investment\r
+      HasTail DummyCloud2  \r
+    _ : Flow\r
+      HasHead CapacityStock\r
+      HasTail Investment  \r
+    _ : Flow\r
+      HasHead Reductions\r
+      HasTail CapacityStock\r
+    _ : Flow\r
+      HasHead DummyCloud3\r
+      HasTail Reductions                    \r
+    _  : Dependency\r
+      HasHead Reductions\r
+      HasTail CapacityStock\r
+    _  : Dependency\r
+      HasHead PotentialProduction\r
+      HasTail CapacityStock\r
+    _  : Dependency\r
+      HasHead CapacityAdjustment\r
+      HasTail CapacityStock\r
+    _  : Dependency\r
+      HasHead Reductions\r
+      HasTail CapacityLife\r
+    _  : Dependency\r
+      HasHead Production\r
+      HasTail PotentialProduction\r
+    _  : Dependency\r
+      HasHead Production\r
+      HasTail DesiredProduction \r
+    _  : Dependency\r
+      HasHead DesiredProduction\r
+      HasTail TargetCapacity\r
+    _  : Dependency\r
+      HasHead CapacityAdjustment\r
+      HasTail TargetCapacity\r
+    _  : Dependency\r
+      HasHead TargetCapacity\r
+      HasTail WidgetsPerPersonOutput\r
+    _  : Dependency\r
+      HasHead TargetCapacity\r
+      HasTail WordOfMouthDemandInput2\r
+    _  : Dependency\r
+      HasHead CapacityAdjustment\r
+      HasTail TimeToAdjustCapacity\r
+    _  : Dependency\r
+      HasHead Investment\r
+      HasTail CapacityAdjustment                                     \r
+      \r
+CustomerModule @ "Asiakasmoduuli" <T Module\r
+  ST.IsDefinedBy CustomerModuleConfiguration\r
+\r
+CustomerModuleConfiguration @ "Asiakasmoduulikonfiguraatio" : Configuration\r
+  L0.ConsistsOf \r
+    ContactsOfNoncustomersWithCustomers @ "EiAsiakkaidenJaAsiakkaidenKohtaamiset" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "AsiakkaidenKohtaamiset * PotentiaalisetAsiakaskeskittymat" : L0.String\r
+    ContactsWithCustomers @ "AsiakkaidenKohtaamiset" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Asiakkaat * Sosiaalisuus" : L0.String\r
+    PotentialCustomerConcentration @ "PotentiaalisetAsiakaskeskittymat" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "MahdollisetAsiakkaat" : L0.String\r
+    WordOfMouthDemandOutput @ "Puskaradiokysynta / MarkkinoidenKoko" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "EiAsiakkaidenJaAsiakkaidenKohtaamiset * Hedelmallisyys" : L0.String\r
+      tag(IsOutput)\r
+    TotalMarket @ "MarkkinoidenKoko" : Auxiliary\r
+      HasExpression _ : NormalExpression\r
+        HasEquation "Asiakkaat + MahdollisetAsiakkaat" : L0.String     \r
+    Fruitfulness @ "Hedelmallisyys" : Auxiliary\r
+      HasExpression _ : ParameterExpression\r
+        HasEquation "0.01" : L0.String       \r
+    Sociability @ "Sosiaalisuus" : Auxiliary\r
+      HasExpression _ : ParameterExpression\r
+        HasEquation "20" : L0.String                                             \r
+    PotentialCustomersStock @ "MahdollisetAsiakkaat" : Stock\r
+      HasExpression _ : StockExpression\r
+        HasInitialEquation "1e+006" : L0.String   \r
+    CustomersStock @ "Asiakkaat" : Stock\r
+      HasExpression _ : StockExpression\r
+        HasInitialEquation "1000" : L0.String           \r
+    NewCustomers @ "UudetAsiakkaat" : Valve\r
+      HasExpression _ : NormalExpression\r
+        HasEquation " min({Puskaradiokysynta, Kapasiteetti/WidgettejaHenkilolle})" : L0.String    \r
+      tag(IsOutput)\r
+    ### Input variables\r
+    CapacityInput2 @ "Kapasiteetti" : Auxiliary\r
+      tag(IsInput)\r
+    WidgetsPerPersonInput2 @ "WidgettejaHenkilolle" : Auxiliary\r
+      tag(IsInput)\r
+      \r
+    ### Dependencies    \r
+    _ : Flow\r
+      HasHead NewCustomers\r
+      HasTail PotentialCustomersStock  \r
+    _ : Flow\r
+      HasHead CustomersStock\r
+      HasTail NewCustomers        \r
+    _  : Dependency\r
+      HasHead PotentialCustomerConcentration\r
+      HasTail TotalMarket\r
+    _  : Dependency\r
+      HasHead ContactsOfNoncustomersWithCustomers\r
+      HasTail PotentialCustomerConcentration\r
+    _  : Dependency\r
+      HasHead WordOfMouthDemandOutput\r
+      HasTail ContactsOfNoncustomersWithCustomers\r
+    _  : Dependency\r
+      HasHead NewCustomers\r
+      HasTail WordOfMouthDemandOutput\r
+    _  : Dependency\r
+      HasHead ContactsOfNoncustomersWithCustomers\r
+      HasTail ContactsWithCustomers\r
+    _  : Dependency\r
+      HasHead ContactsWithCustomers\r
+      HasTail Sociability\r
+    _  : Dependency\r
+      HasHead ContactsWithCustomers\r
+      HasTail CustomersStock\r
+    _  : Dependency\r
+      HasHead TotalMarket\r
+      HasTail Customers\r
+    _  : Dependency\r
+      HasHead TotalMarket\r
+      HasTail PotentialCustomersStock\r
+    _  : Dependency\r
+      HasHead NewCustomers\r
+      HasTail CapacityInput2\r
+    _  : Dependency\r
+      HasHead NewCustomers\r
+      HasTail WidgetsPerPersonInput2\r
+    _  : Dependency\r
+      HasHead WordOfMouthDemandOutput\r
+      HasTail Fruitfulness                    
\ No newline at end of file