From ebb12280ea1ba8f4e2e2a2a538f1598e7170ce9a Mon Sep 17 00:00:00 2001 From: lehtonen Date: Wed, 18 Aug 2010 09:01:12 +0000 Subject: [PATCH] Moved os.sysdyn.ontology from /foundation/ontologies/trunk to /sysdyn/trunk. git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@17319 ac1ea38d-2e2b-0410-8846-a27921b304fc --- org.simantics.sysdyn.ontology/.classpath | 7 + org.simantics.sysdyn.ontology/.project | 34 + .../.settings/org.eclipse.jdt.core.prefs | 8 + .../META-INF/MANIFEST.MF | 10 + .../simantics/sysdyn/SysdynResource$1.class | Bin 0 -> 1086 bytes .../sysdyn/SysdynResource$URIs.class | Bin 0 -> 9424 bytes .../org/simantics/sysdyn/SysdynResource.class | Bin 0 -> 12732 bytes .../build.properties | 7 + org.simantics.sysdyn.ontology/graph.tg | Bin 0 -> 46439 bytes .../graph/Sysdyn.pgraph | 391 ++++++++++ .../graph/WorkModel.pgraph | 695 +++++++++++++++++ .../org/simantics/sysdyn/SysdynResource.java | 698 ++++++++++++++++++ 12 files changed, 1850 insertions(+) create mode 100644 org.simantics.sysdyn.ontology/.classpath create mode 100644 org.simantics.sysdyn.ontology/.project create mode 100644 org.simantics.sysdyn.ontology/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.simantics.sysdyn.ontology/META-INF/MANIFEST.MF create mode 100644 org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource$1.class create mode 100644 org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource$URIs.class create mode 100644 org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource.class create mode 100644 org.simantics.sysdyn.ontology/build.properties create mode 100644 org.simantics.sysdyn.ontology/graph.tg create mode 100644 org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph create mode 100644 org.simantics.sysdyn.ontology/graph/WorkModel.pgraph create mode 100644 org.simantics.sysdyn.ontology/src/org/simantics/sysdyn/SysdynResource.java diff --git a/org.simantics.sysdyn.ontology/.classpath b/org.simantics.sysdyn.ontology/.classpath new file mode 100644 index 00000000..8a8f1668 --- /dev/null +++ b/org.simantics.sysdyn.ontology/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.simantics.sysdyn.ontology/.project b/org.simantics.sysdyn.ontology/.project new file mode 100644 index 00000000..b975ea97 --- /dev/null +++ b/org.simantics.sysdyn.ontology/.project @@ -0,0 +1,34 @@ + + + org.simantics.sysdyn.ontology + + + + + + org.simantics.graph.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.simantics.graph.nature + + diff --git a/org.simantics.sysdyn.ontology/.settings/org.eclipse.jdt.core.prefs b/org.simantics.sysdyn.ontology/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..888b17ed --- /dev/null +++ b/org.simantics.sysdyn.ontology/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Thu Jul 22 15:15:41 EEST 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/org.simantics.sysdyn.ontology/META-INF/MANIFEST.MF b/org.simantics.sysdyn.ontology/META-INF/MANIFEST.MF new file mode 100644 index 00000000..02e12cc9 --- /dev/null +++ b/org.simantics.sysdyn.ontology/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Sysdyn Ontology +Bundle-SymbolicName: org.simantics.sysdyn.ontology +Bundle-Version: 1.0.0.qualifier +Require-Bundle: org.simantics.layer0, + org.simantics.diagram.ontology;bundle-version="1.0.0", + org.simantics.structural.ontology;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Export-Package: org.simantics.sysdyn diff --git a/org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource$1.class b/org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7016dbad0f7eb653aa95d0fc1352d5be64dd7517 GIT binary patch literal 1086 zcma)*+iuf95QhJ04km6OX-mqfrG=i-7GVyTDV3^FP^AD;gDSXO+l%8WSqHC!=v%=J zl|bSFcqqiIQxJATg(Z7tc4xkw*%|-%`Sm-1M`&7@BCJJm;OKB5R1$jH(I?tJQBF4% zhf+tQ*psUdEffj$WAQ;aeW3#9m3u6`#6p>{m<9N*6U+A_sT1c=3ZGEk300Wv5(>@D zBSNtq`O-!K(^XiwM5uK_C0~vPu8dy`w=W5^oyZgYBN2zjK3gm%y-*W2I@#m?k#CD& z4Q2c;iU)*tGZ(};n%thpV%TeK<~Ao1nP=~R^yDxJBc&}|CEUv*i)|5SA{^n=i8zm=XvJxf(JB5*}O(>g4;{vO&0AMIAF-cQ>7Z zXQ64$Ty`+-n@B>X8wN@wqnJJ3oTr^n?(YfN$!$-(mewwJpti5PexyScypTyR@~c?G zI$=7H$$`>|P#&MZH=)+9)SCPD->t45C?(@|UuZ2gmiaOY{FeByDe%iv%T|T8$1I6u zY3mgBXI7?A<*&^W%q#UNO+}*7g@H=7>x+$(j8kmQrmQcT#y5E9q(j NtJq-8jDx9@pI_&06@35z literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource$URIs.class b/org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource$URIs.class new file mode 100644 index 0000000000000000000000000000000000000000..d025875eb7f725f51a31c9df165b7a0494854d6f GIT binary patch literal 9424 zcmbW6cX$-%5yoeXKr11d08EVZwJ>d~%Sa+*ns>wv{o&3FC9mukydZLDp3+o}kZERn zzE~M?sFi7*#+UeYrrGf|Ey!Y~oLZa~!c^&~KUOKbkzWiPTFSIVWkkxD7ELnK;k#pH zx8TqvOuOs0R#l@9q|J>wE_-1ZJ9sJ6PNm7Xt5_`zc6g(1B_H*9Zr;DKTH;kogHyHW z0v%r7ov@#9XpOQ9)CifHJG_z?jCjHDghN*|wP^}zHE040sJ8$kDz2~f$|jgj&9toA z7z4%jVxd$F{mAQaOC=0Phc+=CP&t|OhN&h{XgPW|D+_HkiGi$ZY||U4YM2_1=8NYY z+KKR`DT{fVX|B1*O5Ve?RV%kT7`oOic(yza?N=I_tV81;bHi!}?FvejG(cXXZ2ale zOe>~)e7Y+*=aoZ5-y=+iG=-kdO0H@JF${lq-cYFy#!h7n6C$RCf~>+SeztdT0DuZZ^xPTXno7Pu--Mo>@m+p!nhC92Bje*K*Xv_2fT8@4_xHG z0cFIh5i%{Qd18xq9n-!#yh?qs1x&rPChuFHm)2A(yzC16$anK;GduJEWz3(dWm-P< zp>^{?Ob3-EuW`zH+=LHw7mH^rC5MKUGn`Dqv>>~;ZjCbSP`Z_T*?MF8T913-dWU>{ zUo(QFubDgRM_%8GMmWWbL5GTUc`=xIF=)Lg*X6}vjTe4^x~SCQ1q4+uaA&=^P=^-~ zPVoYD@!-0=NbAB6L|r_zE-yq~%tyaC;bNBOMPB)+pGQJ?IMa4zFPo%fT3Tz&R@0-H z_WwUdZGD*x(}#72*BKyU-m1?qsVK=XDOuMZr_V5{*m`9$O#HMza?4mdJW-!vtSree zmaT73(PtPdx8Ai_?>vN|r!#FoxjT%+%I1Gba0^VkvR#_4+ZHijpyzl6C7%`Z1Y`tyd=34Y)ogMYriA zs}Use-P~DE-mZ_VMmX7vlbEqMbi3XQBS^e3ch-wL^j;XD^`ZfFfkgK{<-*9k&15>9 zNO2#~cQ}#X%$JeeKCJ&TGMo9bNNXR{e_7mD7bL@@Nffczj5kw^@2bU#A}&U9Ym4y%bulI@ zVJw+z%XQ|DmBwn7OtX55BNfxTe#W$3(>BTb7&*yJ+BJTu963^jq8u-l3s_-gi&cky zqby3T5~C)Y9ZGw@SB{!##Ax(BZxp*014W1aq-^w5fx@M?Hmv?tS-4bb<>V_ENpjVMp0kwMwRywU186JNL;`Sf0&vSTodW&E%vR zrpCX5>eep?x|hd>Zy%xy%DhP1)8ccV z>1>#Gj{l4;JG?~O&Q^r2d|{%;4csxW?C^4Bs-CLFZdUdX!XvFITQPCdsf_oN$(Tc(rn~c(M)y9mi+q&`YjT4)pkSv|4;kx}L-9l&vO2 z2*cSVh&L+3aH>FGzs`@wYZITtIb~m;PK~-iBt_Qbt;)KHUq_S1*DN3K4rP3AF z5b2~_djgBI)aL&9KsH&1f(OC(6MTR00|lQ3yMl+nBZ5u)j|mvGc+k(FX{+{6PgMTRaN8q0b{wet9f`0-2mEd24e=GQR;6Did zBlypP{{sG-;J<_aDfnOD{|LUDmN8jo9K!Pq!42S9f*Zk2f}6oDg6Dwe37!vb6}%9< zSn$Q*rGgP%`4Yh^z?TZX47^J472q|3uLNH$crAFn;0@qSg4@8G1#baw6TBUngiU(H z?`~w2oMBvNuD_l4+-6b?@58T2I7Bz`e*Cs1FYp0A82^7w{CkKG3_-Q Bm1+P0 literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource.class b/org.simantics.sysdyn.ontology/bin/org/simantics/sysdyn/SysdynResource.class new file mode 100644 index 0000000000000000000000000000000000000000..2313dac0abcb73f3b938fbb40aff3093919c06f8 GIT binary patch literal 12732 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 aoD<-W<7{#ofhAz|K>Tx>aGcpf1^)*{3J}u( literal 0 HcmV?d00001 diff --git a/org.simantics.sysdyn.ontology/build.properties b/org.simantics.sysdyn.ontology/build.properties new file mode 100644 index 00000000..15454c69 --- /dev/null +++ b/org.simantics.sysdyn.ontology/build.properties @@ -0,0 +1,7 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + graphs/*.tg,\ + graph.tg +src.includes = graph/ diff --git a/org.simantics.sysdyn.ontology/graph.tg b/org.simantics.sysdyn.ontology/graph.tg new file mode 100644 index 0000000000000000000000000000000000000000..36b1abecc0fa9dc75f36df7522b3f8382a0addf8 GIT binary patch literal 46439 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 +G2D = +STR = +DIA = +SIMU = +MOD = +PROJ = +WORKBENCH = + +//##################################################################### +// Defines ontology and attaches it to SimanticsDomain +//##################################################################### + +SYSDYN = : L0.Ontology + @L0.new + L0.HasResourceClass "org.simantics.sysdyn.SysdynResource" + +SYSDYN.SysdynProject : PROJ.Feature + @L0.tag PROJ.LifecycleFeature + L0.HasLabel "System Dynamics Project" + L0.HasDescription """System dynamics modelling project. Create system dynamics models and simulate them with OpenModelica.""" + PROJ.HasInstallableUnit "org.simantics.sysdyn.feature.group" + L0.PartOf SYSDYN + PROJ.IsFeatureIn PROJ.PublishedProjectFeatures + PROJ.RequiresFeature + ImportedOntologies : PROJ.OntologyRequirementValidationFeature + L0.HasDescription "Specifies the ontologies required by a Sysdyn project." + PROJ.RequiresNamespace + "http://www.simantics.org/Sysdyn-1.0" : L0.URI + WORKBENCH.Features.SymbolManager + PROJ.Features.ExperimentControl + SYSDYN.SysdynModelManager : PROJ.Feature + L0.HasLabel "Sysdyn Model Manager" + L0.HasDescription "Sysdyn Model Manager." + PROJ.RequiresFeature MOD.ModelingProject + PROJ.RequiresFeature PROJ.Features.ExperimentControl + + +SYSDYN.SysdynModuleTestProject : PROJ.Project + PROJ.HasFeature SYSDYN.SysdynProject + // L0.PartOf L0.Projects + +//##################################################################### +// Model +//##################################################################### + +SYSDYN.SysdynModel +G2D = +STR = +DIA = +SIMU = +MOD = +SYSDYN = +PROJ = + +//###################################################################### +//# Example work model with two modules +//###################################################################### + +/* +WM = : PROJ.Project + PROJ.HasFeature SYSDYN.SysdynProject + L0.PartOf +*/ + +WM = : PROJ.Project + PROJ.HasFeature SYSDYN.SysdynProject + L0.PartOf + +TAGS = WM.Tags : L0.Library + + +WM.dependency : L0.Template + @template %type %head %tail %angle + %type + @L0.tag TAGS.AdminIsVisible + @L0.tag TAGS.AdminIsFocusable + STR.HasConnectionType SYSDYN.SysdynConnectionType + SYSDYN.angle %angle + DIA.HasArrowConnector _ : DIA.Connector + SYSDYN.HasHeadTerminal %head + DIA.AreConnected _ : DIA.Connector + SYSDYN.HasTailTerminal %tail + DIA.IsPlainConnectorOf %type + +WM.flow : L0.Template + @template %type %head %tail + %type + @L0.tag TAGS.AdminIsVisible + @L0.tag TAGS.AdminIsFocusable + STR.HasConnectionType SYSDYN.SysdynConnectionType + DIA.HasArrowConnector _ : DIA.Connector + SYSDYN.HasHeadTerminal %head + DIA.AreConnected _ : DIA.Connector + SYSDYN.HasTailTerminal %tail + DIA.IsPlainConnectorOf %type + +WM.conf_dependency : L0.Template + @template %type %head %tail + %type + @L0.tag MOD.Mapped + SYSDYN.HasHead %head + SYSDYN.HasTail %tail + +WM.conf_dependency_ref : L0.Template + @template %type %head %tail %ref + %type + @L0.tag MOD.Mapped + SYSDYN.HasHead %head + SYSDYN.HasTail %tail + SYSDYN.RefersTo %ref + + + +WM.WorkSymbol () { + public SysdynResource perform(ReadGraph graph) throws DatabaseException { + return new SysdynResource(graph); + } + }); + session.registerService(SysdynResource.class, ret); + } + return ret; + } + +} + -- 2.47.1