// Copyright 2021 Damien Guichard // // Anatomy of the Cyclopedus lego model : structure, processes, sociology // // Licensed under the EUPL-1.2-or-later untyped hierarchy entity relation. derive entity star-wars component integer. derive star-wars squad warrior planet ground tool action resource. derive warrior people war-machine droid. derive people bounty-hunter indigenous clone-trooper sith jedi. derive indigenous gamorrean geonosian wokiee ewok. derive war-machine cyclopedus. derive droid super-battle-droid battle-droid. derive battle-droid battle-droid-commander. derive tool jackhammer mallet pickaxe shovel. derive action replenish-by place-dumpster mine. derive resource energy-crystal ore-crystal rock. derive component large-parabola block bars dumpster. derive component mechanical-arm antenna laser-beam weapon. derive block turntable-4x4 four-small-wheels energy-crystal-extractor. derive weapon mega-laser blaster-gun lightsaber whip. derive1 relation1 hemisphere-4x4 back flexible when-moving right when-mining. derive1 relation1 directional left center front prehensile revolving. derive2 relation2 quantity attack when-exhausted property. derive2 relation2 extracted armed-with collected-in attribute. derive2 property tall powered-by closing-by rooted-in part-of hinge. derive2 tall wing-up stanchion four-columns back-octogonal-canopy. derive2 tall giant-leg prison-panel-wall front-octogonal-canopy column. derive2 attribute troop military-protected-by material agent enslaved-by instrument. derive3 relation3 horizontal-bar arch wing-down on-the console taking-from. derive4 relation4 control-platform prison-platform. // detailed modelisation of the cyclopedus insert // cyclopedus architecture (hemisphere-4x4 [block:*htb]) (left [block:*hlb]) (right [block:*hrb]) (wing-down ?htb ?hlb [antenna:*]) (wing-down ?htb ?hrb [antenna:*]) (front-octogonal-canopy ?htb [block:*hdb]) (console ?htb ?hdb [battle-droid-commander:*]) (wing-up ?hlb ?hdb) (wing-up ?hrb ?hdb) (revolving [turntable-4x4:*t4b]) (four-columns ?hdb ?t4b) (center [energy-crystal-extractor:*ecb]) (front-octogonal-canopy ?t4b ?ecb) (back-octogonal-canopy ?t4b ?ecb) (left [block:*clb]) (right [block:*crb]) (front [block:*cfb]) (back [block:*cbb]) (arch ?ecb ?clb [antenna:*]) (arch ?ecb ?crb [antenna:*]) (arch ?ecb ?cfb [antenna:*]) (arch ?ecb ?cbb [antenna:*]) (left [block:*plb]) (right [block:*prb]) (front [block:*pfb]) (control-platform [block:*cpb] ?plb ?prb ?pfb) (console ?clb ?cpb [battle-droid:*]) (console ?crb ?cpb [battle-droid:*]) (console ?cfb ?cpb [battle-droid:*bdf]) (console ?cbb ?cpb [battle-droid:*bdb]) (quantity ?bdf [integer:2]) (quantity ?bdb [integer:2]) (directional [turntable-4x4:*wfb]) (left [block:*wlb]) (right [block:*wrb]) (front ?wfb) (prison-platform [block:*ppb] ?wlb ?wrb ?wfb) (prison-panel-wall ?plb ?ppb) (prison-panel-wall ?prb ?ppb) (prison-panel-wall ?pfb ?ppb) (closing-by ?plb [bars:*]) (closing-by ?prb [bars:*]) (closing-by ?pfb [bars:*]) (column ?wlb [four-small-wheels:*wl4]) (giant-leg ?wlb ?wl4) (stanchion ?wlb ?wl4) (column ?wrb [four-small-wheels:*wr4]) (giant-leg ?wrb ?wr4) (stanchion ?wrb ?wr4) (column ?wfb [four-small-wheels:*wf4]) (giant-leg ?wfb ?wf4) (stanchion ?wfb ?wf4) (horizontal-bar [block:*hbb] ?wl4 ?wr4) // mining (material [mine:*mine] [rock:*]) (instrument ?mine [mallet:*]) (instrument ?mine [pickaxe:*]) (instrument ?mine [jackhammer:*]) (agent ?mine [wokiee:wkp*]) (agent ?mine [ewok:ewp*]) (extracted ?mine [ore-crystal:*ocm]) (extracted ?mine [energy-crystal:*ecm]) (collected-in ?ocm [dumpster:*dum]) (collected-in ?ecm ?dum) (enslaved-by ?wkp [squad:*sqd]) (enslaved-by ?ewp ?sqd) (troop ?sqd [battle-droid:*bdp]) (troop ?sqd [gamorrean:*gap]) (armed-with ?bdp [blaster-gun:*]) (armed-with ?gap [whip:*]) (quantity ?bdp [integer:2]) (quantity ?ewp [integer:2]) // mechanical arm (rooted-in [mechanical-arm:*mac] ?cpb) (prehensile ?mac) (flexible ?mac) // weapon (hinge ?hdb [mega-laser:*mlw]) (part-of [large-parabola:*lpc] ?mlw) (part-of [laser-beam:*lbc] ?mlw) (stanchion ?lpc ?lbc) // power (powered-by ?wl4 ?ecb) (powered-by ?wr4 ?ecb) (powered-by ?wf4 ?ecb) (powered-by ?mac ?ecb) (powered-by ?mlw ?ecb) // processes (when-exhausted ?ecb [replenish-by:*rba]) (instrument ?rba ?mac) (taking-from ?rba [energy-crystal:*] ?dum) (when-mining [place-dumpster:*pda]) (instrument ?pda ?mac) (on-the ?pda ?dum [ground:*]) (when-moving [place-dumpster:*pdb]) (instrument ?pdb ?mac) (on-the ?pdb ?dum ?hbb) .