From de9b34e148260050e5841554abce6852ffc74a53 Mon Sep 17 00:00:00 2001 From: jenkins Date: Tue, 5 Dec 2023 07:11:42 +0000 Subject: [PATCH 1/2] C++ TargetRTS generated doc. merge | build 14 | for commit: [7ceb7a7c198ec3d139551f0f55214c406a447132] --- .../_r_t_injector_8h_source.html | 30 +++++++++---------- .../targetrts-api/class_r_t_injector.html | 4 +-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs-sources/targetrts-api/_r_t_injector_8h_source.html b/docs-sources/targetrts-api/_r_t_injector_8h_source.html index 27f803c..a5c8df9 100644 --- a/docs-sources/targetrts-api/_r_t_injector_8h_source.html +++ b/docs-sources/targetrts-api/_r_t_injector_8h_source.html @@ -124,21 +124,21 @@
75
81 std::function<RTActor* (RTController *, RTActorRef *, int)> getCreateFunction(const std::string& id);
82
-
91 RTActor* create(RTController *rts, RTActorRef *ref, int index);
-
92
-
93 RTInjector(RTInjector const&) = delete;
-
94 void operator=(RTInjector const&) = delete;
-
95
-
96private:
-
97
-
98 std::unordered_map<std::string, std::function<RTActor* (RTController *, RTActorRef *, int)> > createFuncRegistry;
-
99#if USE_THREADS
-
100 RTMutex* _mutex;
-
101#endif
-
102
-
103};
-
104
-
105#endif // __RTInjector_h__
+
92 RTActor* create(RTController *rts, RTActorRef *ref, int index);
+
93
+
94 RTInjector(RTInjector const&) = delete;
+
95 void operator=(RTInjector const&) = delete;
+
96
+
97private:
+
98
+
99 std::unordered_map<std::string, std::function<RTActor* (RTController *, RTActorRef *, int)> > createFuncRegistry;
+
100#if USE_THREADS
+
101 RTMutex* _mutex;
+
102#endif
+
103
+
104};
+
105
+
106#endif // __RTInjector_h__
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
Represents a capsule part.
Definition: RTActorRef.h:39
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
diff --git a/docs-sources/targetrts-api/class_r_t_injector.html b/docs-sources/targetrts-api/class_r_t_injector.html index 231b8fa..5f49fe2 100644 --- a/docs-sources/targetrts-api/class_r_t_injector.html +++ b/docs-sources/targetrts-api/class_r_t_injector.html @@ -149,7 +149,7 @@

Create a capsule instance.

-

If a create function has been registered for the specified capsule part it will be used. Otherwise, the default create function of the capsule will be used.

Parameters
+

If a create function has been registered for the specified capsule part it will be used for creating the capsule instance. Otherwise nullptr will be returned, to allow the capsule instance to be created as default (if possible).

Parameters
@@ -157,7 +157,7 @@

Returns
Capsule instance, or nullptr in case a capsule instance couldn't be created
+
Returns
Created capsule instance, or nullptr in case no capsule instance was created
From 5e21b6d617f3c030436dd3cbb3629572219711ed Mon Sep 17 00:00:00 2001 From: Mattias Mohlin Date: Wed, 6 Dec 2023 10:26:32 +0100 Subject: [PATCH 2/2] Doc updates for 1.0.0 --- docs-sources/art-lang/images/diagrams.png | Bin 35808 -> 26313 bytes .../art-lang/images/self-transitions.png | Bin 19347 -> 21083 bytes docs-sources/art-lang/index.md | 119 +++++------------- docs-sources/draft-documentation.md | 64 ++++++++++ docs-sources/images/extension_changelog.png | Bin 26262 -> 52243 bytes docs-sources/images/extension_tooltip.png | Bin 35690 -> 62333 bytes docs-sources/images/installed_extension.png | Bin 20439 -> 22461 bytes docs-sources/images/jvm_setting.png | Bin 28871 -> 32681 bytes docs-sources/images/rtistic_ce_extension.png | Bin 10086 -> 15672 bytes docs-sources/images/uninstall.png | Bin 15988 -> 19322 bytes .../images/vsix_installation_completed.png | Bin 5409 -> 6204 bytes docs-sources/installing.md | 6 +- docs-sources/overview.md | 6 +- theme_overrides/home.html | 1 + 14 files changed, 101 insertions(+), 95 deletions(-) create mode 100644 docs-sources/draft-documentation.md diff --git a/docs-sources/art-lang/images/diagrams.png b/docs-sources/art-lang/images/diagrams.png index 964239c55d884a7e45b3d665352ebd251066b165..cdeb017635f8e3ccce80563de52265ad9647b818 100644 GIT binary patch literal 26313 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

MepC}18B3jXgi5GN)1@cS zBcBE4t4=ccs(=5sgnE*f6N3XM?s-x)N(q;j zwqN{;3)cikjTME9{=LBi2%Qp>xs1eg$s+`tI|Rv{_=v3sDMR5ddDOJd8;*0YNf_(% zy)n(eQC+5NwLSpy?5|jR{!)@Q6WBAOyTb^i7=~*1VJIlafl8kZb9MO5h+W^9dA$F= zXzh=@I`Te=6Z|t@_;&dB9)v{Edmv@BW3*;7Zlrwf*$UUD@`ZttcFe#WQ+IXxvQLwj z-|O5B5XW3U>ogvu^;Y$hNjy37lBUQdQFEkTdyLqX&V%O2CqWUoa0 zEbehabgK3ZdJ5bua3uUkUOlyNR6ILvUR{r5Cip!^!L9wqEa=Z{!*0B&Mj54bkt(ED z)8FP_pGFL2P>b@-i}}@{=|DBVUhgxH3v)peD!)Je0fyc;(R@xh?@y^^IZtn7A*R9jU)cRu1X2mlD z<^Wo$tScF&1-XzaLC@GB)0`JQ3OAhsq+29c3*g!mF|j!QcTh2oQc&Fes*#hbDKWj- zZ1Lrio^n-!o};W0&tK6o9X&074Ec$&NwO^NXGv&zYfP+a_#A1VV%u7R0+%AZ?T_A& z-omF-5fyp9Mb~SYMGJxmiOh>1Hf0Ejk9@Ac8!|Es9eZ$HxfhyYtYhV|i#ODZ)jcUR z_bYimRkM7oX`bW-<6dxm<7Rv~au-Ve%;{?=O!Ed6N6Xm>h;pi(a+bH~9?pkGTy=(K zQne;z(MdC{ZNy_C6$*Go=M3uVSQF2*Qp()Nj`2M0d`aegOKntQEs^zp{)T-c2H+*@ zJ40&B{Ga4bhHIw-mF2VWUsgZc|Lj)b3dF@JuMMLNllt0tHhD$`767)|J}-s2k!v~H zt6PcoOu{PcDe^)6b{_8KL{A}L@VAKEFr$%W-ndyS(pHO!JcFrHr&GDYU?QrDV$E$p z*4wEX{qA{D&kT`5Q4;Enx#%7uUkK>9u4!u=KJq1 z59M0xV_8zY{Wfx{@`VV9f=s8uB{0q1AEF%M-spy7D<3A+=NEb*Kl4ES2rPY_O))X4 zcm@HaE*K2`hZ?*tBqE<{FRa9L;QLnV$#Z4?!Iknn4h0^s+j%<#2&s5dOYR3ePe@!% zfhG}f>~(X@JSU zg&7r-C8NM&cc(rFf>r){=ea?fF-Kj7h*>6gfJB-aM$#rn2L?P!B+j}ou48AD=UVbDc8DoYb6bbObVi~ypVCgc%`|d*!he# zXh6@%h+MA>>QE~_yYuGAN%E<1KLq?fY_0+(O(*La)`n5IZE!Z>j!Y^$*Dp;>j`2}G z9jr2tG!wID`;1BJR#T@O=Vby9^7&SR=xP(`buaUUDc~I2<|o=$)FkePBvfW| z$+t<~8B_;?s8P^hlFhTt#Ye0;$Kwz&wIaZPr(bF2C`oQ@9AJHNuhOSCDdw3?;;wu? zDTu@9wX(8ucsv*$Q3n4o3uahDq6WSO=FLFD~wx!k>WpUUce+#3#dsjV~P zbZ~#S2jg;2utJX}lC7dLti-71tBu8hPNny#u)nRgPDuf~7_S(U02(EaMA-sA zo9b%OnV=k@;qH8Py#}GV(#7KPCBy*~sqS`;%E2*Xxb&=KjI6_{DIaDj z2RE|v?@y%nA*ezNQ0?-1x6$-ZhEt6^my7sCmF6+(%M9{{0|4wzPU3$u|W$E|K;$Dqv+SUYSW#kVa7-z|~Ok`Y6Lcr)(6v~*kG=|2tVJW_j z1~o6YJ9ai}6$P~5wW`$!R~^cBJ?_~rjHuiyZ^3-Ul_tQGNGYY?sah36iE|VrMorgD?CdJUWYKR~Szn^6L|Y53&Hk@s^@00)V};5rY-}?2 z_9a9gdy1d>M^EhHY#~E(1yVG$}eo%^0eq@SSt8cD)j>MT- z-Zy3;A<~6~g&k%H0+WXjb{WLw>?jYMAa&HX>eF>n0z$oaN{T-i1El;ta9+F!j*pKw z@tP|9MlM#(hGxD=4CMzp_06IkUYv*Iq%+esU0FbbNV=bUby>7mfbdJTi`52l|8beM zK&NUc9!;4uQ&f<8yF$`lg-%Gz&8>lv1lu7JGQYBYWpWuSAa1m&^XZ7uq$TAU7gEO8 zed7Hkh~!z`lqd zFxC_!q$g_H z=KMIE7yS9-NW3rQ}x^J&T z6yqPHIwnY59j8hari-YHB*KoVIQW;EzcxtCYa!t!J$Qw27d9RqzieD5-Jph~N=EOc zr9-}rQ??p#P_vbe!>dLcKpDT4Z`M~ocHAE)LivZj9x^6)Vz;&a(8G$1q-&Lb8Mr9V zA$pj;>N8{R=-1_avlw|^ahrK@I3|w?Fwp1T=EoG)uIw%$FgJPieW!NYzyHYxwSZ@g zs&~%Se!|2Nx+1e)s04J%6_IuwfVGj&*|D$lD z-4+ND^9roALQB~e+ZEym?%R`E0rSYAnwN7kqVGAL=H})Kxvyaje-|yDYRJC) z{<^(+<+I-HzKBdM8vxnzEsxcfOY0@Q>-?X3iNcjiXuatvTX?^T|#5KGR6i{R~!R8<&{fC{@wh#M2c%oH2=Szn%)x z4Sy!`qIef50MPCU6jYN7a*Ijsy>_Twoy(<^-wPt{BFg#YbmZ2sA169-@3z%skBK)( zl55@)RDxv78TT(6tmuwK`?Bh8u9FjV!|g)ENCMHP+c!d<-JOz~q;ivrw>mA(R#jD8u8s-1@tljq>}i7UidGS& zCq8_!!g!5(Qc}T%;xA@XYM+d*_U=jAj;wYv)-e`&6{z!cvZ2wkl4a7Bwh+F3{t={T z``|YUFi=vd@PFcAi=+8@l``_!%)K`kW`<_L=?@Yy2hzym@pHR)iu|T0#1l;{uB9~m|ezM(CndU zOSXeLi63byH;0EaNe>W}C>W zxCUedxZURfaP8F(huLtpvMIJ|SM?J4K zE-0HfywNiM5Oni*!R#yAz*zkGKMX>dj)%NHW_9bozZYrrGOvSBOD_wb)MVjGBK+9Ny;fy(;`-9@J{tAT8oZq zb{GKF3Vkp}Re1c4S8a~jwr>d|(Y8y|8^mrkPTVqlME{W4 znBfpI?x%n*S=(P#Qi?`~wdH!-4-x3-QFmWOeV)+U{B%Yhzc2B5X`INm`tSjSYb(1} zXV%0{(REwiHNs_7izOc~09RMP`}S_AB?AMGf@PXtZV!3l7I4;He?k*MwD}L<}&PCyo?BttVd-ryZ=SOCJPK%$$y1F#&ws^&r;Uvnanlwwk znw!IzcbS-Zm|%p#v~0ZU9skgB?lGe-AUTWS{57{Vj?AElczsu}y~t?R)Y>p9)WhSMnX2u>39-t@1ZP#30-HlJl+3=hHFd(!kiw zE#;>&iflgoNTD(8;jUR;!h4B!>3HW#(71!Anv`iyimsp)a3-n>DMUJM$GN5_5mfl!>7#)bcif7A@2QPx;F zgv|3e<(TVGcR#t|{Q@W=#A}{rfhpNQR#{~?E;zIO&}*ktf>|;*VZZ7)O1a_b)$`Zi z&Mqt|iRU-GclhIf|M|60MY?;$exS%~o}7bhLY!VOD`&IckZl4}gi5AAJdoKBZ7y8K z=xv;Lvk&f0EiP_!6kS*aQuz#J&on@>zYTTVD$>}=Bq+7 zx;0KZI%3IQ#DKq*R#g$8bXaM1407C-ii&K6L3oQ2DY2q;`#s(9+T6L>+eNA+mv`Cu zLVCxq+Xm1=@+#~aU~;AwKTJQJfx@q0-gp)}y9XA9UXJ-jofHb>6ROw@e>p8ye1?Jx zbjpdw(~?BDv6O17f`J(xTh9N&hbRA-xFBE6uSP1Q-=X+*(NT zEy}O8`hEtfN@?<7ja2Q^EB&By`6QZ%BrOe`Vrli=vdyo3Pxma`iAK2mIog#8f&n%V z5vS12tlv*P3bDSV*1!3%#NA|Z3`h9!RF0qfj24+D){S6sWMm8@{{qfxY3(N-(&PFr zWmxXHH#Ro%T3Y5T-QEEjBQEa<+ih1a{!l0k8E9D*Gb$^6>uNiFU&Zy$_0nnK6X4a2 zk+RZhzz*9}Xnny4;OEv4omkI~eY&5IQsAjb$p+p`wU^AMU1wapt({$bs;mgP{|0Ie zJn?G2aIOk4Kd;oZ4Kk76TvSROgI+iZ->1D((IyF4y+h;#4UF0{gr=NjT%Tkr8OM0` zI`BQm@qm0o-c)hCtqzLUqTDQdJ6Bx*EPu5Jmxq9t8bVZ@T%{7#y!mCCZ66YBF0 zlLvVjBv}z4*O5_ZIu}}-W9azuh0AR~YGHL17In=<+>H97qm^GEe$MppVEDU1+XI8= z=TvaUieTz-p~1TlLd>(Q6*@Kq6L{wfD#=J7aXM?WAv?%5oP6Q6T%zmP zr}WQ55u1ptNDHfja0Uq1A~8fTmPSu(Oig(`m?Pq@;(zdPQ6V4f$b%GwQSWRSxW7;m zBX9qVVV#{@AU>Nx%XKYvKPBgz2e3uD9GCz7ct$*`prd0A-E>s5R{U44PbrU{V&ue3 zp5JUIz49JO_$qxgq;D0*v-1~F$0#u-?0o`7{(wC*%zWGZY5faNN@E5z!QL`&v=AS}B{nIY! zM&Rz$vnUF#o{{#WLPpy`jWABEgTl1bNQ?`hMs(_r?&V~**dtDo0@VvVh)XM0E~oIYX)(Ff&2RStNp8Z%0we`a`!Xh2zMGPM#FYm6Ps>+pwX z&d3DTAY(7Jq1uI{vW8@MoD-ZDDWm}$FsC}}GS!1Tw0_ptx=cJ%BV#(Sl_)O?Db4({ z16}OepVIK@nrY1v-Nzv@$K4wcY7W|=WU0B`$Zb>eoZmanPS%zx09y-Q-x51VSW^r6 z&BTuBsFn^SV&PIx#cD6!)HmHU5|@J#aG>j{%)gLNdO^>XKfDvx=y%51zy-Pyx%T2B z$C6Ba{_ndUmHHXGz1CTnFV(ICuWH_Wv>n$wI?{eoXQxZpcM>82a{qFVxjoDJZRMBOfnPO5>n z!=tIU3;y+}Gmh=j(864$66*bgqCZMFL^O@8#K@n1M3IVEI5@y~D)GPY(z9&p$Nsn@ z2r;{HTlb1l-V80T1Jdw3i_$PPfJI{w>ePXkxrnan5y=ON z!E`QpXJ^jgZ1K`5Leyk`k}7?ZN=a~>se0Y z6sqCyD67yVRmwVDPdA4Nqc|ndi~p81|JRCWHhn4JwZ+fihq9=SuV5(EMeR*gOz_ zgI~4MS%Q>|5ZsXP1m|Em{uk#0)*&F7L`+ric|lRhR8dkCYl@Cuu7RHln@~L372{00 zdCX4|*0b+WMKkJAe3{VOwU&mn&V!%_KMHYQ9nR*?!YY;&=GMG4$E&@Cu!@}4{4_AM z)q=&1RzD&sw<9ovhlWD?=0eK>3J*B$GAt7fB#*>ao+Nkg?XIF~uyr-RW#M~YKAM`E zy1W`MnPz>CJo5ET_Qk+i?^=OX`IV3ZN;&%xx)lBQlBs%!E8bRC}LXHA#D$F9Zk zbUmFjH#41NhmGWI85H>YD_xmHQm8fKI*5b6d$3D}%V%dLyvo@WK(fN6T*!2ar|0)% z5dZrxKQdtuWQW(!PI73J>5;>qZ~mMfZ{?VSqFwvX?Tw==GvLWY{Nw{TMg0p z&U@2D2j=3>^g)X{1H$Pb(1#zQZuif;a@dlVS4UH1G8#Rp@4xyO?bA!(A2n*++2CMx zabbk#|M>Bw)$gMBW4dVs6v_gWle7B!LyDB!;t31}`|#KMcz}6QU0A?%>HVW(^nn_7Xjg_cG^!8I^^4WmX364<@=rjFa&*Hlyzhet8p8D>%jIi7MihQuNK zx|*`Dy|UkSSFgN_*`*8{47nSfA0%oXo(iJfE4vM7IlR8K+}c6nQd3i>q@>V@iJ3S} zuCK4tGBaa}`<}kHvxDNWVB%Bh7<-}=27P<~ejW{)-)muzb#45~MCqKpy?^Y~9DzF0 z^rxgQ3;Z8fywySxlG%`Ju72z2YA*bM2wo*6BZvN(w6k1ufwnM^V@^?X|L^FzKS%2& z{$f{75m_WT@t0Z9y3FgdkjnZ;E|uGTP2m#~@%rW*sclSq@FU>z&@zUc|K;7yMf$FD z!!pJdOAMtbG0GLXS9+p(?8g`yhx3CY<`yv9BStFJCzDcbm&rcOpH>*r<(-G+cB{@& zl?RoY_;O>D=)REu=-EUp@N%u?Co2~+J$@xqys>xRqsLnu*^nhD!Cb?y#1F#7d1XmX zD&R=k^l6(e6oSP-Mn-ly8Xw5;rtJFWrfYWAIIRFonAm>1&Q)U@*O*dWR3xW{;ZXuH zoPKDDbao(KX3eoOA=(MQ$83LpQ6Gpl!Yc_CN9_(v7B@7a&JZ^r{GhD2mA~Zs)H;j< zWXeh!S*YLSV_g4v79jS|bSCxw=+6G?3Ou6dZ}y?owx07?6CDt0r%ea51ET3_O4B`q zNbv=}2GZ+|?gLYzGGr8F3K?t`;esI0yT>;scb#dnOjD1f z#;;|^jPzZ$^ux+_lKfjfDF(e#%aMpZ*&NA73B3A;hIAY}<+cc%)X@P7Rnk^;Z3~Zv4{*H}I^~d_Ynm-Qo&NYFXfEGe6vm#h~`UCAIf4OsGS| zXm@2GfGj8Zs4;PJ@TRRVI4QcuNDm!{hY3Qepc;l<&E6RW?FG!rzJSf_E1>Elx9;?v z0|Uv-lSXtqINvChr~)r7g^%+{bC!1Jp3OZ>N{LusZJC2hW54ixG5 zd+()~2nJk#YPrAOb!X_0=RD4GdUhWWBru zhO>m}XA{9%gqn2MsMGg%zz)6h3NwZYeco{XKrZmpw%>l^rt4~~;BQH}pqU$Ss+$e& zu`D~1Wd$i&#`{m)*osC_fUbm0Bwo)TSNq&@sYesEB9TP3l^CWot$-h2aa_$K_Cudd z$DMDQ*wSCkw1re@=XfW0wIN{8j6ziZ%kiLzgBSV$t)<<>MqN2k<(l@J`GXJ5$-`@|xeK8k zeZ0ikRI$6cYpeXy5`o2Wmaik#slLXpJm;-aDX(@L#BnmFlW3IYXzs6JAfY&k%5=5r zaP;?!Hmdu{ZZDvA8x!j=r|7l){8mGQL0P$5$HXM2ww4bCC;F?IP)-}JJ_ooM3V$h< zX)=+ZnI+foZ&p*AwpF)OSfXtsg^Wox4nz(nTz!gdkLoz9qR{%uM9bTKPT~(Ow%&xa(xD5ylreh01YW^?%;&535?g_LWf z4BX#WDz|MHWpewT+6ga`z0%jQ96sl3$xP&MDP7dS2Dshass7tMJmI<+#OU+Uu|tfOrBOtz*blm$?Dfn zOmyIu0G2nO9p|GV)WsIk;^V5BT1PkH@@{1vNu?+MC%@FU>kvsB(g6<$E;Ge4IgJxQ zb_%qUYJ)X8e(=dSO&8sTlZr^Y$Q<`B>JNPU@ocuPCA7aiT5|zN1L^oHwmVYBj*KSx zgERq&yI>GZlGM?gQT&>i?y2+4D4ikzXx>btOeY6=tw(7;UyauN#Ubyrnu!U8T+H7$ z?pnNi*EnyEzx;q|dJ0IJ3MgSeBT=)e#vuwJM%T&s%BU<80$9Lh5#b7nta1BJ{7TPq zhZF9&nVWGL(JhI%nOqzehSwvN_QD&Kc--F0=3$^Xg*{dj{&r zhPF;9S_L6TB1V}Ft=BF=H^wG`SL+~EzhWhtos!lVAcagCAezogC9!vbg7qsr!>f1Xsulk5P1r-@o5VLsx6Z9puGal+PmvS%AbaB#4@ z1-$NXmHL5HIgP#JWJEHa$GR5^N6z$m8oX5&wW5eK)%svRZ7I5ql=)PH1RHUoMG=ea zQ1W(9WOv&n>57C4A-9O%>tE8F{2>Hr_O0u%044=meb17_rQ2LOIDg^t^vaM4x&H8X zWTQ&}TO9vptL*A$I{MWHK}R`hPT7uQYEsV!uG4Zc1{vQf__MMh#;SzCWh z9nN%VdmB0Hl0(7Ipc`w1R1!~P?6KGiPc~@OWZ!<;Q>3#NmC4QVN+`?PsUO6ImH^%1 z(LEA7{i#{waDbtE{qA#Rzz7Y}$MG2|-SpIiWXMzd-pOZCkNXC1IH zo!{~{HEw6MbzeeKQr=Wu+*34+CDinEl;a??b!pM^Af3AUrJkdfbZ zo4~l%PliGfSH=g6wRWR)KE+GD1Q+dut^3*DD=#R7G%hxG_X2@y3t2B2_00qLse*2g z^cq~JMjE~}H-Gy^o+TMXHGsG>N=Yo85}ESN4KoSO?e=*T=0_Qpew@X7oPP>`>4P1d_v(zZ;(S?E#`BQax`L+Et zosld6z&l>vqXFieAE+clQBl$T`!9{LBkmNTc$8{`e6S>-iA0{{G9auX7K?Af6SmM)bO+Gf*t~|glNkm{T-b~@7rn$iclAB zQ7{-acEYD0?r*Q&p}h7n`>$C2#B#Nf>9V%!8Ngv3QV-j`IZKJ}-L-QvG&HP%Z7g-v zIcTHQUK5GJluB*aJ8XuryzDdhM85U=7J6n>R1Kc*U4+{|4iaC@Ab{3-k9oE*YDX?F zKHS&)t5A$J(ZlXd{Mx8Y{XdlY=98mTa$u1(RA7DtT|yokIDxOo!J?RFnhwT#Dhbs4 z)WmN$C9k*WuM|*Yqg2nARz%&|UGO^)7nVFYW{JUhk#NG%Ba=x*4dB?6yxHSLnMHmW z<3faE6wBOseI6x)v^)>AA33C z7fr#+6m;oDnPz?7Pj)u`g=L4g^Qnbnn;Xu(fUw%|NNjB9UhduD1Lto1VjKlnurfyW zm_vU_orp78S8^qMZ>Ab8UgDZ%A@IiO?$=|V_6-avSeqj`eJEcK{mN^*G7@ypd%i!< zHXRKk)daa;EJ3K1&HRx3EvUTVaw!zQ%6(ml-M9{CMC=4-zwO4^XZ8UFe5w25 zsrBV)PzyNRznCS8tKFD-4xzD{7+EZ z_VqmJ=udbrZ1QkOb^o{%pHTDobd1Zyw9Z!RI%q4(zE)x_)hH7$dY#o5d`q}D$kqD~ zJM~)a56%CCE+u~(o%(c6>^|;?3eXFKT01}-mDAkA5$fg&nVXxN`=?DbOgtzYF5FBF zXcSCK`9vTSdUv=6mAdp+YH4XcrbO!kl!hk-2F?={JWn1bP(VMTHfk|HYU{Zn*_6t{ zcQfn00&JqT*Bp_uk_oh2NohY8@_wvJ0gk@+hpjI$54)eG3EUE$u3@AbJN6r-GyUl{ z-YASql3M-J$B(YIl*B5e$x1;(Fy`f%?*AfjO56;zR>U6viGX!=LBV(9|8Ow($)+KF zTJBZe=A2X1T%8>u*g~dykfbQ(?{o=RD*;g#Yzy_?4=ZBe6WZZuA;}OS^OY79>*r_5 zV&B(onpzo+mC8t4Ni7t5!F%kg)l91Gw9*1Tp&w3u{6olzJP^1anp^Ol@Pg>wKJ2!y z_UGlfYsg8h4mMMWP|%7PA*wr6&9c}z9xpwzvIh`8{5!^9*dco>$D`Ta>N87p-;$Kjt$ko6?9s8daD5CNEi{qo-AHVjYWfh652^!-c zUzsLsYG$dsnflT-W(r*ZYe23bnVd z+_&Vho~XdSQPJC8h#_(hRLci9E?=q55i@jN?z;0m#}OhaaOTXVjF6pgjHwwi<@lD2$I^`$a8EoWqfw_+NydC(8)s~=iQpO(l3j8Fz9HRVVO=fXU}U zdh6NQh%MAHrCgZ^P&_3{Zl93^xo%M+Zrj}^>I8WwDm(p zi)v&XO9<9IT5Y1Xyj`bWz{i0L3Rn{kzw%M-&CQ<_m~`NroMGB}5seI6Dt_DLo-Mr` zvv)?+j5L(^s|QQuVo@p4uI-BUuf=04rw>2hH5ENy66f0P<)PgWMUsK)Nkm4nnY$fk zo@cChw_3NHHx#glo@@<-ms_}*rG~7+WLreRZKKQZ3o>YLvmNAmew&+%#3?Md4wNwo z0WH(>u-ip3-=Al7IxU)A^zwPVib78{{ERZywer1XOJ`3ARAO1aRg1OCC?4oBQ zKi@EhaG7gkZHZT1{xq8=Ov13{=t}TQ-3U(jCnuBw<@j@(3x5uNZ}=3)I!LXL;mg2B z3&L`TyA16#YDgiwa~ZtZxFG7^^&wUX|B!i_nHU=DWb{*3^xC;BY?&5h>Ih4T^HI(! z%FG-+q6l`2&xUs#8jAK7$4r@zrO7&?mUkynqR7F4BJbf%cSwhSnT(WXkn7fQ^83R& z{lD_Z`$|h3mZbh1P|F($3ma$g1DkUS=-X{Ar7!X>Ueb0GAQd+(NOz1@lokRv$vJ>~ zt^Kr_Y)Kc-qhy89$JLGx=(>oKJFBqIBFfAsElQG=lomMyO>JT^kwngXANNsg5bWG; z?0z2v8Ie8)Zg%qC7Q;B-=pfpP`0cKRg_u9fs-<>K{ zx55k4B`v@nELq%e-m~QqYcVVk?<*MFhI|Q2(z9i+2&at$ZU@FuQgW$jhlG*!S$R^{ zbv^i}?A5DR?<%w9nekuuqz56jqVnQ)3YD)D=v{*b4VmKl?@PFN(Z=pW)EjMs)^`K8 zZ#1Dc%XjT~)q{PFq`jnSm-EUj!o%3E1lwP1CJ_Un#+x37jvGkQ7+-n6aPBe5D}58Q-g$Z~>UFjprff5(cWH3d0XRh8eN*3sK# z9dh8Et$^kP*&FYBdfx3(TDmumd}|2GG_U?P1R*9=;)Tq+4eAc0rq)?>7U=w_!epT1 zeZLTS=Bt4CstE426JWL-wJ&WMlIDA{gwydG=C_Ox0$`tz*FFvtQcae)45HXaDkIpv zX_oERm)RFbG$P0YQyPl5Hn{&aW8B)~nJ_Z%0SH?FSNfb#QI>^{9^0uwQ=Eo}Vy8a> z252Y4FRTTp7s7KosqS8R+@7}|Kotgg=2O5i$f>F&Uqkk432Z8_Ab(vRlRxdcVbEJe0Y_{Q|ra?<{uib5P8h+|~~}{ZG!TW^;K2(|fdZ z_|sZ>+eklgf5|E=(qpDe@Zv=+(PK7q86>>@mKju+mGVf*Qi9`1!75bP=j?4~UN@&o z0T90G9y|;fq93AufI3#K?%d}SyKL%whH{Twy;nue1ZV@~fqbX6{MI+Cu-Kw1^IKoK z;?ZODJAOUgFWI@qGpPLU3}gyPnNu2TSc(C>`Rk3>I^xfZa!=&U`8*^E#gGo-wnd4p zvQScB%m$2L@bJ%A+d%y$Ggc6v2Fp(0IU^Nvd?hi>4BOUEx_Umi-sTm;7q7iv#^C&H z>@vApE;q=*1URq1y~PBcZOcVUpKCMu(faju>+9gM2~z24Z{)SUiL_+WaPoE}ZLmE% zMM+ad4qoNfo(%P%r0p0c5|#+@ebL(=0ZzgL0r|3Z+aEWN-T9F`nXe{^l$l}eQ7nGj*x5W_y+ zpbf>S2Lx44eMgTqU6W=o+diJWF<9F%zeai@=!yH)=ii{uj=GEl?&r?QoVxr8yrCCD zZ18CoDY6vOPfVXmAph@X>@Rpof@UW9&n8NZ#CJH)M1LbbVTxbmiO@W9Wm+ZCRp@() zXQd0#Rw}6}ZbO7nEjvwW!fc5D8pNw`c*FR8LQHv{2DU34s#ugBY882J=Us9&s@TI% zJgas-4n61PP+>`Aq-*pw(rJ4e$xLHO@Uwi03)+MAmH8c!+Bz=c*1^_#O3h6fddp6W zv>zP$937EElwx95XjAr3TN?(4uTMVgD@L3HY0KFB#RRihxvZf)c>ffKE(imBQ)fH{ zrp#Lm2p}&=Bs-}>%#W={SmB9a!}(Lh-fp2J6BCole4t)*7?N(Psj0~Zjr;InUIY&} z=CgZqsveZNXhi^2tN1!Bw*h2zJ~9w8x#1nr#e<^y!m^(nw^ ztxfq(7lVTY^iUHzJ9}5EFpFa;xP5CBYw2T)gNcrq){R{VewNY2T5 zHGGYQ(Ez?=2{vmO5*yBC?RN~ly=v+lBiB;VdT4Rj>gIY*FqaVhB0n-MHT7$P46zMR zFI8^Sium-R88#OU+46W9ifUxKOY8e_G|1c zl~yEWWE4`pSk@aa1Pgaka(B)G8709*d!_C*Aa_kqLGg~lz>)kH z5(3KF@80l|m@0$_^WW+BF|}RRbo-xnPclBJb-dHVj!yuF1_BsefvdWcvF+W8H%&}Z zvlZo}xqY9iMvoV66Syw#H&s@@@fN5$$c&ZUfCgo?G;@bjWC8sA9u9PR-aCNxwqNfP zf>i?ExbC|Lp26?uQ>;5jxJL>KfVi#bhp-$lZfLfjKn$%27erFacF7Lqrtiy z@RQBaC8vSG5&}?WPMtt|pc9$%3+nuo^QeQAU{x5j!VY817yQR&Yyiuflf4G}Q1@B-ofRyT_% z2Q~N%*P>`9e$z${rh@?5aq;eHL4cW%W4%Q`R+5TL2-MfK_FH&=f6prZdC{G1KyqI|0P%f7w5kzkNA60 d{jqaYpR^Tw_;Y&`6omXkOHChHe$zJWe*lgAQbPa$ literal 19347 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 diff --git a/docs-sources/art-lang/index.md b/docs-sources/art-lang/index.md index 4c8a85b..5686720 100644 --- a/docs-sources/art-lang/index.md +++ b/docs-sources/art-lang/index.md @@ -1,4 +1,4 @@ -Art is a language for developing stateful and event-driven realtime applications. By **stateful** we mean that the application consists of objects whose behavior can be described with state machines. By **event-driven** we mean that these objects communicate with each other by sending events, which can cause their state machines to transition from one state to another. +Art is a language for developing stateful and event-driven realtime applications. By **stateful** we mean that the application consists of objects whose behavior can be described with state machines. By **event-driven** we mean that these objects communicate with each other by sending events, which can cause their state machines to transition from one state to another when received. The Art language provides high-level concepts not directly found in the C++ language. All these high-level concepts are transformed into C++ code by the [Art compiler](../building/art-compiler.md). Generated code uses a run-time library known as the **TargetRTS** ([Target RunTime System](../target-rts)). The TargetRTS is a C++ library that acts as a layer between the generated code and the underlying platform (hardware, operating system etc) on which the realtime application runs. @@ -9,9 +9,9 @@ Art is well suited for describing both the behavior and structure of a realtime Note that the translation of Art to C++ also involves analysis of the C++ code that is present in the Art files. The code generator supports certain [C++ extensions](../art-lang/cpp-extensions/) in such embedded C++ code and will "expand" them to C++ code as part of code generation for an Art file. ## Concepts and Terminology -In Art the concept of a **capsule** is central. A capsule is like a C++ class, but with a few differences and extensions. A C++ class is **passive** in the sense that a caller can access its public member functions and variables at any time. Hence a C++ object always executes in the context of the caller, and when a member function is called, the caller is blocked until it returns. A capsule, however, is **active** and has its own execution context. This means that we never call a capsule member function or access a capsule member variable from outside the capsule itself. Instead we communicate with the capsule by sending **events** to it. Each capsule has a queue of events it has received and the events will be dispatched to the capsule one by one. The sender of the event is not blocked, as the event will be handled by the capsule asynchronously when it is later dispatched. +In Art the concept of a **capsule** is central. A capsule is like a C++ class, but with a few differences and extensions. A C++ class is **passive** in the sense that a caller can access its public member functions and variables at any time. Hence a C++ object always executes in the context of the caller, and when a member function is called, the caller is blocked until the function call returns. A capsule, however, is **active** and has its own execution context. This means that we never call a capsule member function or access a capsule member variable from outside the capsule itself. Instead we communicate with the capsule by sending **events** to it. Each capsule instance has a queue of events it has received and those events will be dispatched to the capsule instance one by one. The sender of the event is not blocked, as the event will be handled by the capsule instance asynchronously when it is later dispatched. -The picture below shows 3 capsule instances each holding a queue with events that have been received, but not yet dispatched. Note that this picture is conceptual. In a real implementation several performance optimizations are applied, for example it's common to let a single thread drive more than one capsule instance, and several capsule instances can share a common event queue. But from a conceptual point of view each capsule has its own queue of events that are waiting to be dispatched to it. Events have a **priority** which determines how they are ordered in the queue. Events with high priority are placed before events with lower priority, and if two events have the same priority they are ordered according to when they arrive. +The picture below shows 3 capsule instances each holding a queue with events that have been received, but not yet dispatched. Note that this picture is conceptual. In a real implementation several performance optimizations are applied, for example it's common to let a single thread drive more than one capsule instance, and several capsule instances can share a common event queue. But from a conceptual point of view each capsule instance has its own queue of events that are waiting to be dispatched to it. Events have a **priority** which determines how they are ordered in the queue. Events with high priority are placed before events with lower priority, and if two events have the same priority they are ordered according to when they arrive. ![](images/event_queues.png) @@ -23,27 +23,27 @@ A simple capsule which only handles a small number of events, may be able to han A composite structure is created by decomposing a capsule using capsule parts. A **capsule part** (or, for simplicity, just **part**) is typed by another capsule and is a way for a capsule to delegate some of its responsibilities to other capsules. Such a decomposition is purely an implementation detail that is not visible from the outside of the capsule. When you send an event to a capsule you cannot know if the capsule will handle the event itself, or if it will forward the event to another capsule typing one of its capsule parts. The ability to decompose a capsule into parts is important for managing complexity. When a capsule has grown too big and complex you can decompose it into capsule parts without changing the communication interface of the capsule. -Ports of capsules typing capsule parts are connected to each other by means of connectors. A **connector** is a conceptual construct for showing how events are routed in the internal structure of a capsule. At run-time connectors don't exist, and ports are directly connected to each other. Because of this, it's not mandatory to use connectors. You can also choose to dynamically connect (and disconnect) ports at run-time. Although this provides for more flexibility, it has the drawback of making it impossible to statically visualize the communication paths of a capsule. Ports that connect statically to other ports via connectors are called **wired** ports. Ports that are connected dynamically without use of static connectors are called **unwired** ports. +Ports of capsules typing capsule parts are connected to each other by means of connectors. A **connector** is a conceptual construct for showing how events are routed in the composite structure of a capsule. At run-time connectors don't exist, and ports are directly connected to each other. Because of this, it's not mandatory to use connectors. You can also choose to dynamically connect (and disconnect) ports at run-time. Although this provides for more flexibility, it has the drawback of making it impossible to statically visualize the communication paths of a capsule. Ports that connect statically to other ports via connectors are called **wired** ports. Ports that are connected dynamically without use of static connectors are called **unwired** ports. The picture below shows the structure of a capsule `Top` which consists of two capsule parts `ping` and `pong` each holding a capsule instance (a `Pinger` capsule and a `Ponger` capsule respectively). The connector between the wired ports `p` on these capsules makes it possible for these capsules to communicate with each other. Communication can also happen using the unwired ports `q1` and `q2` if they are connected at run-time. The picture also shows that the capsule `Ponger` is further decomposed using a capsule part `inner`. All events sent to port `p` of `Ponger` will be further routed to port `i` of the `Internal` capsule. ![](images/composite_structure.png) -Regardless if ports are statically connected by connectors (wired ports), or dynamically connected at run-time (unwired ports), they must be compatible with each other. This means that the out-events of one port must match the in-events of the other port, for the ports to be possible to connect. This constraint ensures that events are never lost when traveling between two connected ports. To make it possible to describe the events that may travel between two connected ports using a single protocol, one of the ports can be declared as **conjugated**. For a conjugated port the meaning of in-events and out-events are swapped, so that the in-events are the events that may be sent out through the port, and the out-events are the ports that may be sent to the port. In the picture above port `q1` is non-conjugated (![](images/non_conjugated_port.png)) while port `q2` is conjugated (![](images/conjugated_port.png)). +Regardless if ports are statically connected by connectors (wired ports), or dynamically connected at run-time (unwired ports), they must be compatible with each other. This means that the out-events of one port must match the in-events of the other port, for the ports to be possible to connect. This constraint ensures that events are never lost when traveling between two connected ports. To make it possible to describe the events that may be sent between two connected ports using a single protocol, one of the ports can be declared as **conjugated**. For a conjugated port the meaning of in-events and out-events are swapped, so that the in-events are the events that may be sent out through the port, and the out-events are the ports that may be sent to the port. In the picture above port `q1` is non-conjugated (![](images/non_conjugated_port.png)) while port `q2` is conjugated (![](images/conjugated_port.png)). Both capsule parts and ports may have multiplicity. You can think about a capsule part with multiplicity > 1 as an array that holds capsule instances at run-time. In the same way you can think about a port with multiplicity > 1 as an array that holds connections to port instances at run-time. The multiplicity of ports and parts must match when connecting two ports with each other. Once again, this constraint ensures that events will not be lost when traveling between the connected ports at run-time. The picture below shows a capsule with a part and a port that both have multiplicity > 1. In structure diagrams such parts and ports are shown as "stacked boxes". ![](images/port_part_with_multiplicity.png) -In addition to regular C++ member functions a capsule may have a **state machine** as its behavior. A state machine describes how an instance of the capsule may move between different **states** through its life-time. A **transition** that connects a source state with a target state may be **triggered** when an event from a capsule's event queue is dispatched. Several conditions must hold true for the transition to trigger. For example, the event must match a **trigger** that specifies the expected type of event and the port on which it was received. It's also possible to associate a boolean **guard** condition with the transition and/or with the trigger which must be true for the transition to trigger. A transition may have an **effect**, which is a piece of C++ code that executes when the transition gets triggered. +In addition to regular C++ member functions a capsule may have a **state machine** as its behavior. A state machine describes how an instance of the capsule may move between different **states** through its life-time. A **transition** that connects a source state with a target state may be **triggered** when a received event from a capsule's event queue is dispatched. Several conditions must hold true for the transition to trigger. For example, the event must match a **trigger** that specifies the expected type of event and the port on which it was received. It's also possible to associate a boolean **guard** condition with the transition and/or with the trigger which must be true for the transition to trigger. A transition may have an **effect**, which is a piece of C++ code that executes when the transition gets triggered. -The picture below shows a state machine containing three states and three transitions. The presence of transition guard code is shown with a yellow dot and the presence of transition effect code is shown with a blue dot. Both these are C++ code snippets that are embedded in the Art file. +The picture below shows a state machine containing a few states and transitions. The presence of transition guard code is shown with a yellow dot and the presence of transition effect code is shown with a blue dot. Both these are C++ code snippets that are embedded in the Art file. ![](images/state_machine.png) -When a capsule instance is created (this is sometimes referred to as capsule **incarnation**), it's state machine starts to execute by triggering the transition that goes out from the **initial** state (the big blue circle in the above diagram). Each state machine must have exactly one such initial state with an outgoing transition. Since this **initial transition** is triggered automatically when the capsule instance is created it cannot have any constraints like mentioned above. The initial transition is an example of a **non-triggered transition** since it cannot have triggers. +When a capsule instance is created (this is sometimes referred to as capsule **incarnation**), it's state machine starts to execute by triggering the transition that goes out from the **initial** state (the circular blue symbol to the left in the above diagram). Each state machine must have exactly one such initial state with an outgoing transition. Since this **initial transition** is triggered automatically when the capsule instance is created it cannot have constraints such as triggers and guard conditions. The initial transition is an example of a **non-triggered transition** since it cannot have triggers. -The path from the source state to the target state can sometimes consist of more than one transition. In that case only the first of these is a **triggered transition** that may have triggers that specify when it will trigger. Once the first transition in this path has triggered, subsequent non-triggered transitions will always execute, one by another according to how they are connected in the state machine. However, also non-triggered transitions (with the exception of the initial transition) may have guards. Such guards are usually evaluated before the triggered transition triggers to ensure that they all are enabled, so that it's guaranteed that the target state can be reached. There is one exception to this rule, for transitions that leave a **choice**. Such guards are only evaluated once the choice has been reached to dynamically decide which outgoing transition to take next. This also means that guards of such transitions must be mutually exclusive, or there is a risk that the state machine will get stuck in the choice. +The path from the source state to the target state can sometimes consist of more than one transition. In that case only the first of these is a **triggered transition** that may have triggers that specify when it will trigger. Once the first transition in this path has triggered, subsequent non-triggered transitions will always execute, one by one according to how they are connected in the state machine. However, also non-triggered transitions (with the exception of the initial transition) may have guards. Such guards are usually evaluated before the triggered transition triggers to ensure that they all are enabled, so that it's guaranteed that the target state can be reached. There is one exception to this rule, for transitions that leave a **choice**. Such guards are only evaluated once the choice has been reached to dynamically decide which outgoing transition to take next. This also means that guards of such transitions must be written so that at least (and at most) one outgoing transition is enabled, or there is a risk that the state machine will get stuck in the choice. In the state machine shown below the transitions `t2` and `t5` are triggered transitions, while other transitions are non-triggered. Transition `t5` can only be triggered if either the guard of `t7` or `t6` is true, while `t2` can be triggered even if neither the guard of `t3` nor `t4` is true. The target of transition `t5` is a **junction** which is used for either splitting or merging transition paths depending on evaluated guard conditions. @@ -61,7 +61,7 @@ A state may have an **entry action** and/or **exit action** which is a C++ code ![](images/state_entry_exit_actions.png) -A transition where the source and target state is the same state is called a **self-transition**. A special kind of self-transition is an **internal transition**, which is a transition that when triggered doesn't leave the current state. Hence, when an internal transition is triggered the active state configuration remains unchanged, and neither the entry nor exit action of the state gets executed. In the state machine shown below the state has two self-transitions; `t` which is a regular self-transition (a.k.a. **external self-transition**) and `it` which is an internal transition. Since a state may have a large number of internal transitions they are not shown inside the state symbol, but if you select the state symbol you can see them in the Properties view. An icon is shown on those states that contain internal transitions. +A transition where the source and target state is the same state is called a **self-transition**. A special kind of self-transition is an **internal transition**, which is a transition that when triggered doesn't leave the current state. Hence, when an internal transition is triggered the active state configuration remains unchanged, and neither the entry nor exit action of the state gets executed. In the state machine shown below the state has two self-transitions; `t` which is a regular self-transition (a.k.a. **external self-transition**) and `it` which is an internal transition. Since a state may have a large number of internal transitions they are not shown inside the state symbol, but if you select the state symbol you can see them in the Properties view. An icon is shown in the upper right corner of states that contain internal transitions. ![](images/self_transitions.png) @@ -72,7 +72,7 @@ The realtime application needs to designate one capsule as the **top capsule**. The top capsule is the entry point of the realtime application. When it starts to execute one instance of the top capsule will be automatically created, and its state machine starts to execute. If you build a library rather than an executable you don't have a top capsule. ## Embedded C++ Code -Art uses C++ as action and expression language. It also uses C++ for defining types, variables and functions. A C++ code snippet can be embedded into Art at many places by enclosing it with backticks. Here is an example of how to write the code that should execute when a transition triggers: +Art uses C++ as action and expression language. It also uses C++ for defining types, variables and functions. A C++ code snippet can be embedded into an Art file at many places by enclosing it with backticks. Here is an example of how to write the code that should execute when a transition triggers: ``` art S1 -> S2 on timer.timeout @@ -201,7 +201,7 @@ capsule Cap { Art elements are mostly edited using their textual notation, but diagrams also provide some editing capabilities. However, all edit commands performed from a diagram are actually mapped to corresponding textual modifications of the Art file. Editing from a diagram is therefore simply an alternative, and sometimes more convenient way, of editing the textual Art file. ## Syntax -Art uses a syntax that should look familiar to developers with knowledge about languages like C++ and Java. +Art uses a syntax that should be familiar to developers with knowledge about languages like C++ and Java. * Declarations are terminated with a semicolon `;` * When multiple elements are declared in the same language construct commas `,` are used for separating the elements @@ -420,6 +420,7 @@ pingPort.ping(5).send(); // Send event "ping" with data (an integer) on the "pin !!! example You can find a sample application that sends events on ports with and without data [here](https://github.com/secure-dev-ops/code-realtime/tree/main/art-samples/PingPong). +Note that `send()` is not the only function you can call. For example, you can call `invoke()` if you want to wait until the receiver has received and replied to the event. This is useful for implementing synchronous communication between capsules. ### Port Multiplicity At run-time an instance of a port can be connected to a port instance on another capsule. Such connections is what make a sent event be routed from the port on which it is sent, through a number of non-behavior ports, until it finally reaches a behavior port. By default a port has single multiplicity (1) meaning that at most one such connection can be established. However, you can specify a non-single multiplicity for a port to allow for more connections to be created at run-time. @@ -449,7 +450,7 @@ capsule Server { ``` ### Notification Port -Every protocol contains two implicit events rtBound and rtUnbound. A port can choose to receive those events whenever a connection for the port is established (rtBound) or dropped (rtUnbound) at run-time. Declare a port as a notification port to receive these events. +Every protocol contains two implicit events `rtBound` and `rtUnbound`. A port can choose to receive those events whenever a connection for the port is established (rtBound) or dropped (rtUnbound) at run-time. Declare a port as a notification port to receive these events. ``` art capsule Server { @@ -502,7 +503,7 @@ Unwired ports get connected by means of registering them under a service name th * [registration](#registration) specifies when an unwired port should be registered * [registration_name](#registration_name) specifies the service name with which the port should be registered -If you choose to register an unwired port programmatically (using the TargetRTS functions `registerSPP` and `registerSAP`) you decide at registration time whether the port should be an SAP or SPP port. However, if you choose to instead let the port be registered automatically you need to declare the port as either a `subscribe` (SAP) or `publish` (SPP) port. Here is the same example again, but now with automatic registration of the unwired ports using the service name `myService`: +If you choose to register an unwired port programmatically (using the TargetRTS functions `registerSPP()` and `registerSAP()`) you decide at registration time whether the port should be an SAP or SPP port. However, if you choose to instead let the port be registered automatically you need to declare the port as either a `subscribe` (SAP) or `publish` (SPP) port. Here is the same example again, but now with automatic registration of the unwired ports using the service name `myService`: ``` art capsule Client { @@ -524,6 +525,10 @@ registration_name = "myService") Note that the keyword `unwired` can be implicit when you declare a port as either a `subscribe` or `publish` port. +!!! example + You can find a sample application that uses an unwired port [here](https://github.com/secure-dev-ops/code-realtime/tree/main/art-comp-test/tests/unwired_port). + + ## Connector Connectors describe how events are routed within a capsule by connecting ports in its composite structure. They make it possible to see in a structure diagram which parts of a capsule that can communicate with each other. Each connector connects exactly two ports with each other. A connected port may either be a port of the capsule itself, or a port of a capsule that types one of its capsule parts. A few constraints decide if it's possible to connect two ports: @@ -531,7 +536,7 @@ Connectors describe how events are routed within a capsule by connecting ports i 2) The ports must be typed by the same protocol. -3) The ports' conjugations must match. If the ports are at the same level in the capsule's structure (e.g. both ports belong to capsules typing capsule parts owned by the same capsule), then the connected ports must have the opposite conjugation. This is because events that are sent out from one of the ports must be able to be received by the other port. However, if the ports are at different levels in the capsule's structure (e.g. one of them belongs to a capsule typing a capsule part owned by the capsule and the other belongs to the capsule itself), then the ports must have the same conjugation. This is because in this case events are simply delegated from one capsule to another. +3) The ports' conjugations must match. If the ports are at the same level in the capsule's structure (e.g. both ports belong to capsules typing capsule parts owned by the same capsule), then the connected ports must have the opposite conjugation. This is because events that are sent out from one of the ports must be able to be received by the other port and vice versa. However, if the ports are at different levels in the capsule's structure (e.g. one of them belongs to a capsule typing a capsule part owned by the capsule and the other belongs to the capsule itself), then the ports must have the same conjugation. This is because in this case events are simply delegated from one capsule to another. 4) If a connector is connected to a port and a part (where the port is defined on the capsule that types the part), then the port must be a service port. Only service ports are visible from the outside of a capsule. @@ -564,7 +569,7 @@ capsule Ponger { ![](images/connector_example.png) -The connector between `p1` and `p2` goes between two ports on the same level which is why these ports must have opposite conjugation. The connector between `p2` and `i` goes between two ports at different levels which is why these ports must have the same conjugation. The non-behavior port `p2` is a so called **relay port** (it just relays all events it receives to another port) and the connector between `p2` and `i` is sometimes called a **delegation connector** to describe the fact that capsule `Ponger` uses it for delegating some of its responsiblities to the capsule `Inner`. Note that relay ports can be optimized away so they don't exist at run-time (i.e. at run-time port `p1` can be directly connected to `i`). +The connector between `p1` and `p2` goes between two ports on the same level which is why these ports must have opposite conjugation. The connector between `p2` and `i` goes between two ports at different levels which is why these ports must have the same conjugation. The non-behavior port `p2` is a so called **relay port** (it just relays all events it receives to another port) and the connector between `p2` and `i` is sometimes called a **delegation connector** to describe the fact that capsule `Ponger` uses it for delegating some of its responsiblities to the capsule `Internal`. Note that relay ports can be optimized away so they don't exist at run-time (i.e. at run-time port `p1` can be directly connected to `i`). A connector doesn't have a direction, so it doesn't matter in which order it connects the two ports. That is, connecting X with Y is equivalent to connecting Y with X. @@ -664,7 +669,7 @@ If the capsule that types a part has a [capsule constructor](#capsule-constructo * `rt::create` Defines how to create an instance of the capsule. For example, which constructor arguments to pass, which thread to use for running the created capsule instance, at which index to insert the capsule instance into the part (in case it has multiplicity > 1) etc. * `rt::destroy` Defines how to destroy an instance of the capsule. By default it's destroyed using the `delete` operator. -Here is an example where a part defines a capsule factory that specifies a create function. The create function gets the mandatory constructor parameters `rtg_rts` and `rtg_ref` as arguments, as well as an `index` argument that specifies the index where the created capsule instance would be inserted by default. +Here is an example where a part defines a capsule factory that specifies a create function. The create function gets the mandatory constructor parameters `rtg_rts` and `rtg_ref` as arguments, as well as an `index` argument that specifies the index where the created capsule instance will be inserted. ``` art part engine : Engine [[rt::create]] @@ -684,7 +689,7 @@ State machines are used for specifying the behavior of [capsules](#capsule). It A state machine consists of states and transitions. During its lifetime a capsule instance transitions between the various states of its state machine, as a consequence of receiving events on its behavior ports. When transitioning between two states one or several code snippets may execute. Such code may for example send events to other capsule instances, something that may cause transitions to execute in their state machines. -A state machine may also have **pseudo states**, which just like states may be connected with transitions, but that unlike states are not places where the state machine should stay for some time. For example, most pseudo states like junctions and entry/exit points merely act as connection points that make it possible to execute more than one transition when transitioning between two states. The notable exception is the choice in which actually the state machine may get stuck for ever, but that would be an error situation that should not happen in a correctly designed state machine. +A state machine may also have **pseudo states**, which just like states may be connected with transitions, but that unlike states are not places where the state machine should stay for some time. For example, most pseudo states like junctions and entry/exit points merely act as connection points that make it possible to execute more than one transition when transitioning between two states. The notable exception is the **choice** in which actually the state machine may get stuck for ever, but that would be an error situation that should not happen in a correctly designed state machine. ### State The states of a state machine are the places where the state machine may stay for some time while waiting for a message to arrive that potentially can cause the state machine to transition to another state. States should have names that describe what is happening while the state machine stays there, or what has happened for the state machine to arrive there. For example, "WaitForInit", "Processing" or "Terminated". By convention state names start with uppercase. @@ -715,7 +720,7 @@ States may be nested to create a [hierarchical state machine](#hierarchical-stat A state may have an entry and/or exit action which is a code snippet that runs whenever the state is entered and/or exited. ``` art -state Walk { +state Walking { entry ` server.walk().send(); @@ -733,7 +738,7 @@ state Walk { ### Transition A transition connects a source state (or pseudo state) to a target state (or pseudo state). When a capsule instance handles a message that was received on one of its behavior ports, one or several transitions may execute. -It's not required to give a name to a transition, but it's possible and often makes the state machine easier to understand. At least triggered transitions (i.e. transitions where the source is a state) should have a name. A transition name can be choosen to describe what needs to have happened for the transition to execute, for example "requestReceived", "timeout" etc. By convention transition names start with lowercase and use camelCase if the name consists of multiple words. +It's not required to give a name to a transition, but it's possible and often makes the state machine easier to understand. At least triggered transitions (i.e. transitions where the source is a state) should have a name. A transition name can be choosen to describe what has happened when the transition executes, for example "requestReceived", "timeout" etc. By convention transition names start with lowercase and use camelCase if the name consists of multiple words. A triggered transition has one or several triggers which define when the transition can be triggered. Each trigger specifies a port and an event. The trigger can only trigger its transition if the received message is an instance of the specified event, and was received on the specified port. In addition it's possible to provide guard conditions that must be fulfilled for the trigger to trigger its transition. Such a guard condition can be specified for the transition, but also for each individual trigger. @@ -819,21 +824,6 @@ Note the usage of an asterisk (`*`) to specify that any event received on `myPor Internal transitions are examples of so called self-transitions. To learn about other types of self-transitions see [this chapter](#local-transition). -#### Frequent Transition -Sometimes you may have a state where one or a few outgoing transitions can be expected to execute much more frequently than others. You can then set a `frequent` [property](#property) on the transition trigger that you expect will trigger the transition frequently. The Art compiler uses this information to optimize generated C++ code so that such transition triggers are evaluated before other triggers that are expected to trigger the transition less frequently. - -``` art -interrupted: Working -> Stopped on [[rt::properties( - frequent=true - )]] external.interrupt - ` - // Interrupted while working... - `; -``` - -!!! note - The frequent property relies on optimization features in the C++ compiler that may or may not be available depending on which target compiler that is used. Only use frequent transitions if profiling has shown that you have a need to do this optimization. - ### Choice and Junction Choices and junctions are pseudo states that make it possible to split transition flows in a state machine. That is, one incoming transition may be split into multiple outgoing transitions. Which of the outgoing transitions that will execute is decided by evaluating their guard conditions. @@ -844,7 +834,7 @@ For a junction the guard conditions are evaluated already *before* leaving the c The same is true if a junction is used in the [initial transition](#initial-transition). If such a junction doesn't have an outgoing transition with a fulfilled guard condition then the state machine will stay in the initial state for ever. -Choices and junctions must have names, so they can be referenced as the source or target of transitions. You can choose to use a name that gives a hint about what conditions that are checked in the guards of the outgoing transitions. For example, `isEnabled` for a choice that checks a boolean condition and `checkValue` when the condition has some other type. If you follow this approach you can then name the outgoing transitions accordingly. For example `true` and `false` for a choice that checks a boolean condition. By convention choice and junction names start with lowercase and use camelCase if consisting of multiple words. Sometimes it may be difficult to come up with a good name and in that case you can choose something short and "technical" like `j1`, `check1` etc. +Choices and junctions must have names, so they can be referenced as the source or target of transitions. You can choose to use a name that gives a hint about what conditions that are checked in the guards of the outgoing transitions. For example, `isEnabled` for a choice that checks a boolean condition and `checkValue` when the condition has some other type. If you follow this approach you can then name the outgoing transitions accordingly. For example `true` and `false` for a choice that checks a boolean condition. By convention choice and junction names start with lowercase and use camelCase if they consist of multiple words. Sometimes it may be difficult to come up with a good name and in that case you can choose something short and "technical" like `j1`, `check1` etc. Below is an example of a state machine containing a choice and a junction. @@ -922,7 +912,7 @@ When multiple triggered transitions converge into a common transition as in the ### Hierarchical State Machine A state machine is hierarchical if it contains at least one composite state, i.e. a state with a nested state machine. A transition that is triggered in the enclosing state machine (i.e. the state machine that contains the composite state) should enter a composite state by specifying an entry point of the composite state as the target. In the nested state machine another transition can connect that entry point to a state in the nested state machine. A transition in the nested state machine may specify an exit point of the composite state as the target. In the enclosing state machine another transition can connect that exit point to a state in the enclosing state machine. -Entry and exit points are pseudo states that need to be named. The names can be chosen to give a hint about when the composite state is entered or exited through them, for example `systemStarted` or `errorDetected`. If you want you can prefix the names with `ep` or `ex`. It's also common to use short and "technical" names like `ep1` or `ex1` if a more descriptive name doesn't make sense. By convention entry and exit point names start with lowercase and use camelCase if consisting of multiple words. +Entry and exit points are pseudo states that need to be named. The names can be chosen to give a hint about when the composite state is entered or exited through them, for example `systemStarted` or `errorDetected`. If you want you can prefix the names with `ep` or `ex`. It's also common to use short and "technical" names like `ep1` or `ex1` if a more descriptive name doesn't make sense. By convention entry and exit point names start with lowercase and use camelCase if they consist of multiple words. It's also possible to directly enter a composite state without using an entry point. In this case the behavior will depend on whether the composite state is entered for the first time or not. If it is for the first time, the initial transition of the nested state machine will execute after the transition that targets the composite state has executed. Otherwise the composite state will instead be entered using [deep history](#deep-history), i.e. by activating the state in the nested state machine that was most recently active (and recursively if that state again is a composite state). @@ -955,12 +945,12 @@ statemachine { Note that a dot (`.`) is used as scope resolution operator, to make it possible to reference an entry or exit point from the enclosing state machine. Inside the nested state machine the entry and exit points are directly accessible without use of the scope resolution operator (using it there would be an error). -It is possible to only connect an entry point on the "outside". Entering such an entry point will behave in the same way as entering the composite state without using an entry point (see above). It's therefore not recommended. In the same way it's possible to exit a composite state using an exit point that only is connected on the "inside". In this case the composite state is not exited and instead the previously active substate again becomes active (recursively, just like for [deep history](#deep-history)). This is also not recommended, unless the transition is a [local transition](#local-transition). +It is possible to only connect an entry point on the "outside". Entering the state via such an entry point will behave in the same way as entering the composite state without using an entry point (see above). It's therefore not recommended. In the same way it's possible to exit a composite state using an exit point that only is connected on the "inside". In this case the composite state is not exited and instead the previously active substate again becomes active (recursively, just like for [deep history](#deep-history)). This is also not recommended, unless the transition is a [local transition](#local-transition). !!! example You can find a sample application that contains a composite state with an entry and exit point [here](https://github.com/secure-dev-ops/code-realtime/tree/main/art-comp-test/tests/compound_transition_rtdata). -Just like a [junction](#choice-and-junction) an entry or exit point can have multiple outgoing transitions. Guards on those transitions decide which one to execute, and are evaluated *before* leaving the current state. Therefore, the same recommendations as for guard conditions of [junctions](#choice-and-junction) apply. +Just like a [junction](#choice-and-junction), an entry or exit point can have multiple outgoing transitions. Guards on those transitions decide which of them to execute, and are evaluated *before* leaving the current state. Therefore, the same recommendations as for guard conditions of [junctions](#choice-and-junction) apply for entry and exit points. #### Deep History Every nested state machine has an implicit pseudo state with the name `history*` (in state diagrams it's shown as `H*` to save space). It can be used as a target for any transition inside the nested state machine. When it is reached, the state machine will restore the previously active substate. If that state again is a composite state, its previously active substate will also be restored. This goes on recursively for all nested state machines (which is why it's called a *deep* history). @@ -1082,8 +1072,6 @@ A class state machine can use the same constructs as a capsule state machine wit * The initial transition cannot access initialization data as can a capsule's [initial transition](#initial-transition). Instead you can define one or several constructors for the class with parameters needed for passing initialization data when the class-with-statemachine instance is created. See [Constructor](#constructor) for more information. -* [Frequent transitions](#frequent-transition) are not supported. - * The state machine can be hierarchical but the [deep history](#deep-history) pseudo state is not supported. Instead the [shallow history](#shallow-history) pseudo state can be used. * Even if it's possible for a class with a state machine to inherit from another class with a state machine, this doesn't mean that the state machines will be inherited as is the case for capsule inheritance. Read more about this in [Inheritance](#inheritance). @@ -1153,7 +1141,7 @@ A [capsule](#capsule) can inherit from another capsule. Only one base capsule is The derived capsule is type compatible with the base capsule in the sense that if you have a capsule [part](#part) typed by the base capsule, you can at runtime incarnate it with instances of the derived capsule. -Capsule inheritance has multiple dimensions. One dimension is the usual C++ inheritance between classes (remember that a capsule is an active class). In this dimension it is for example possible to redefine (a.k.a override) a virtual member function defined in the base capsule or in another base C++ class. But there is also a second dimension where the state machine of the derived capsule will implicitly inherit from the state machine of the base capsule. This makes it possible to redefine transitions and states. For example, a redefining transition in a derived capsule can change the effect code, the guard condition or the target state or pseudo state. And a redefining state in a derived capsule can change the entry or exit action, as well as any substate or subtransition in case the state is composite and has a nested state machine. It's also possible to completely exclude a state or a transition, either in the top capsule state machine, or in a nested state machine. +Capsule inheritance has multiple dimensions. One dimension is the usual C++ inheritance between classes (remember that a capsule is an active class). In this dimension it is for example possible to redefine (a.k.a override) a virtual member function defined in the base capsule or in another base C++ class. But there is also a second dimension where the state machine of the derived capsule will implicitly inherit from the state machine of the base capsule. This makes it possible to redefine transitions and states. For example, a redefining transition in a derived capsule can change the effect code, the guard condition or the target state or pseudo state. And a redefining state in a derived capsule can change the entry or exit action, as well as any substate or subtransition in case the state is composite and has a nested state machine. It's also possible to completely exclude a state or a transition, either in the capsule's top state machine, or in a nested state machine. Below is an example of a capsule `D` that inherits from another capsule `B`. In addition the capsule `D` inherits from two C++ classes `IDataManager` and `IController`. @@ -1315,49 +1303,6 @@ protocol ExtendedMachineEvents : MachineEvents { * [A derived protocol inherits events from a base protocol](https://github.com/secure-dev-ops/code-realtime/tree/main/art-comp-test/tests/protocol_inheritance) * [A derived protocol redefines the parameter type of an inherited event](https://github.com/secure-dev-ops/code-realtime/tree/main/art-comp-test/tests/protocol_inheritance_redefined_event) -## Template -A template is a type that is parameterized by means of template parameters to make it more generic. When a template is used (a.k.a. instantiated), actual template parameters must be provided that match the formal template parameters defined in the template. Both [capsules](#capsule) and [classes](#class-with-state-machine) can have template parameters. Just like in C++ two kinds of template parameters are supported: - -* **Type template parameter** - -Replaced with a type when the template is instantiated. - -* **Non-type template parameters** - -Replaced with a non-type, for example a constant value, when the template is instantiated. - -Template parameters may have defaults that will be used if a matching actual template parameter is not provided when instantiating the template. - -Below is an example of a capsule and a class with template parameters, some of which have defaults specified. The keywords `typename` and `class` can both be used for defining a type template parameter. A non-type template parameter is defined by specifying its type as a C++ code snippet. - -``` art -template -capsule TemplateCapsule { - [[rt::decl]] - ` - void func(T arg1) { - // impl - } - ` - - service port mp : MachineEvents[`p1`]; - - statemachine { - state State; - initial -> State; - }; -}; - -template -class TemplateClass : `Base` { - statemachine { - state State; - initial -> State; - }; -}; -``` -Template parameters can only be used from C++ code snippets, and above you see some examples of how they can be used. It's not possible to instantiate a template in Art itself. For example, even if class `Base` above was defined as an Art class, a C++ code snippet has to be used since it has template parameters. - ## Property Properties are name-value pairs that provide a generic mechanism for augmenting Art elements with extra data. Such data can be utilized by tools that operate on a parsed Art file, such as the code generator and semantic checker. Most Art elements can have properties and the syntax for specifying properties is the same regardless of the kind of element. However, different kinds of Art elements can have different properties. @@ -1455,7 +1400,6 @@ Below is a table that lists all properties that can be used on different kinds o | [Port](#port) | [registration_name](#registration_name) | String | "" | [Initial transition](#initial-transition), [Triggered transition](#transition) | [const_rtdata](#const_rtdata) | Boolean | true | [Transition](#transition), [State](#state), [Choice](#choice-and-junction), [Junction](#choice-and-junction), [Entry Point](#hierarchical-state-machine), [Exit Point](#hierarchical-state-machine) | [color](#color) | String | "" -[Trigger](#transition) | [frequent](#frequent) | Boolean | false ### generate_file_header @@ -1534,6 +1478,3 @@ Specifies which color to use for an Art element in a diagram. Colors should be s Note that you can also set the color directly from the diagram. Select a symbol or line and then set the color property using the Properties view (under "Appearance"). ![](images/color_picker_diagram.png) - -### frequent -Triggers for which this property is `true` will lead to generated code that handles these triggers faster than other triggers. This is done by placing their if-statements early in the `rtsBehavior` function to ensure that as little code as possible needs to execute when dispatching a message for a frequent trigger. \ No newline at end of file diff --git a/docs-sources/draft-documentation.md b/docs-sources/draft-documentation.md new file mode 100644 index 0000000..37ca5db --- /dev/null +++ b/docs-sources/draft-documentation.md @@ -0,0 +1,64 @@ +Draft documentation, not yet included in the product +==================================================== +**The Art Language - State Machine - Transition - Frequent Transition** + +#### Frequent Transition +Sometimes you may have a state where one or a few outgoing transitions can be expected to execute much more frequently than others. You can then set a `frequent` [property](#property) on the transition trigger that you expect will trigger the transition frequently. The Art compiler uses this information to optimize generated C++ code so that such transition triggers are evaluated before other triggers that are expected to trigger the transition less frequently. + +``` art +interrupted: Working -> Stopped on [[rt::properties( + frequent=true + )]] external.interrupt + ` + // Interrupted while working... + `; +``` + +!!! note + The frequent property relies on optimization features in the C++ compiler that may or may not be available depending on which target compiler that is used. Only use frequent transitions if profiling has shown that you have a need to do this optimization. + +======================================================== +**The Art Language - Template** + +## Template +A template is a type that is parameterized by means of template parameters to make it more generic. When a template is used (a.k.a. instantiated), actual template parameters must be provided that match the formal template parameters defined in the template. Both [capsules](#capsule) and [classes](#class-with-state-machine) can have template parameters. Just like in C++ two kinds of template parameters are supported: + +* **Type template parameter** + +Replaced with a type when the template is instantiated. + +* **Non-type template parameters** + +Replaced with a non-type, for example a constant value, when the template is instantiated. + +Template parameters may have defaults that will be used if a matching actual template parameter is not provided when instantiating the template. + +Below is an example of a capsule and a class with template parameters, some of which have defaults specified. The keywords `typename` and `class` can both be used for defining a type template parameter. A non-type template parameter is defined by specifying its type as a C++ code snippet. + +``` art +template +capsule TemplateCapsule { + [[rt::decl]] + ` + void func(T arg1) { + // impl + } + ` + + service port mp : MachineEvents[`p1`]; + + statemachine { + state State; + initial -> State; + }; +}; + +template +class TemplateClass : `Base` { + statemachine { + state State; + initial -> State; + }; +}; +``` +Template parameters can only be used from C++ code snippets, and above you see some examples of how they can be used. It's not possible to instantiate a template in Art itself. For example, even if class `Base` above was defined as an Art class, a C++ code snippet has to be used since it has template parameters. \ No newline at end of file diff --git a/docs-sources/images/extension_changelog.png b/docs-sources/images/extension_changelog.png index 093db950c222852d4ff8a84f76e6148096e1f27a..ef8fe55695bd6fb0687cd559d2a0983e4815d301 100644 GIT binary patch literal 52243 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 literal 26262 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 diff --git a/docs-sources/images/extension_tooltip.png b/docs-sources/images/extension_tooltip.png index fee7b4305102776a7521f71a9d287e5ac851c892..6c8b961ff326ea80983de9c490c77c66431a179a 100644 GIT binary patch literal 62333 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%0Dp*dItUArSj)Z@3m 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

rtsDefault controller thread to run the created capsule instance (a registered create function may override this)
refCapsule part to host the created capsule instance