Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Comment: | Build of micca 1.1.7 for Linux. Preparing for new release. |
---|---|
Timelines: | family | ancestors | descendants | both | micca-develop |
Files: | files | file ages | folders |
SHA1: |
3c2e02bd4558af5137d88e643be0ebd2 |
User & Date: | andrewm 2019-12-18 16:35:49 |
2019-12-18
| ||
16:52 | Build of micca 1.1.7 for windows. Preparing for release. check-in: 66f5ff583c user: andrewm tags: micca-develop | |
16:35 | Build of micca 1.1.7 for Linux. Preparing for new release. check-in: 3c2e02bd45 user: andrewm tags: micca-develop | |
2019-12-15
| ||
17:29 | Corrected a problem in micca with the embedded command, findRelatedWhere. The previous implementation failed to account for singular relationships and assumed there was always an iterative loop. Added test cases to demonstrate the fix. Preparing for new micca release. check-in: 07d00e9b7c user: andrewm tags: micca-develop | |
Changes to micca/code/c/mellor-balcer/bookstore.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 .... 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 .... 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 |
/* * ---------------------------------------------------------------------- * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * Created by: /home/andrewm/working/mrtools-micca/micca/code/starpack/x86_64-linux-tcl8.6/micca/lib/application/micca_main.tcl simplebookstore.micca sbs_population.micca * Created on: Thu Mar 21 11:06:50 PDT 2019 * This is micca version 1.1.5 * ---------------------------------------------------------------------- */ #include "micca_rt.h" #include "micca_rt_internal.h" #include "bookstore.h" ................................................................................ for (MRT_LinkRef *t__T2 = mrtLinkRefBegin(&self->R24__BACK) ; t__T2 != mrtLinkRefEnd(&self->R24__BACK) ;) { struct Shipment *t__T3 = (struct Shipment *)((uintptr_t)t__T2 - offsetof(struct Shipment, R24__BLINKS)) ; t__T2 = t__T2->next ; struct Shipment *t__T1 ; t__T1 = t__T3 ; readyShipment = t__T1 ; if (readyShipment->waitingToBePacked) { break ; } else { readyShipment = NULL ; } } return readyShipment ; } static struct ShippingClerk * Warehouse_findFreeShippingClerk( struct Warehouse *const self) // <%my findRelatedWhere freeClerk {freeClerk->awaitingAssignment} ~R25 {~R27 ShippingClerk}%> // return freeClerk ; ................................................................................ t__T2 = t__T2->next ; struct ShippingClerk *t__T4 = t__T3->R27 ; // ~R27 ShippingClerk if (t__T4->base__INST.classDesc == &bookstore__CLASSES[33]) { struct ShippingClerk *t__T1 ; t__T1 = t__T4 ; freeClerk = t__T1 ; if (freeClerk->awaitingAssignment) { break ; } else { freeClerk = NULL ; } } } return freeClerk ; } static MRT_DelayTime ShippingClerk_randomdelay(void) // // random number 1 - 10 in tenths of a second // MRT_DelayTime delay = (MRT_DelayTime)((rand() % 10 + 1) * 100) ; // MRT_DEBUG("delay = %" PRIu32 "\n", delay) ; |
| | | > | > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 .... 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 .... 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 |
/* * ---------------------------------------------------------------------- * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * Created by: /home/andrewm/working/mrtools-micca/micca/code/starpack/x86_64-linux-tcl8.6/micca/lib/application/micca_main.tcl simplebookstore.micca sbs_population.micca * Created on: Wed Dec 18 16:26:35 PST 2019 * This is micca version 1.1.7 * ---------------------------------------------------------------------- */ #include "micca_rt.h" #include "micca_rt_internal.h" #include "bookstore.h" ................................................................................ for (MRT_LinkRef *t__T2 = mrtLinkRefBegin(&self->R24__BACK) ; t__T2 != mrtLinkRefEnd(&self->R24__BACK) ;) { struct Shipment *t__T3 = (struct Shipment *)((uintptr_t)t__T2 - offsetof(struct Shipment, R24__BLINKS)) ; t__T2 = t__T2->next ; struct Shipment *t__T1 ; t__T1 = t__T3 ; readyShipment = t__T1 ; if (readyShipment->waitingToBePacked) { goto l__L1 ; } else { readyShipment = NULL ; } } l__L1: ; return readyShipment ; } static struct ShippingClerk * Warehouse_findFreeShippingClerk( struct Warehouse *const self) // <%my findRelatedWhere freeClerk {freeClerk->awaitingAssignment} ~R25 {~R27 ShippingClerk}%> // return freeClerk ; ................................................................................ t__T2 = t__T2->next ; struct ShippingClerk *t__T4 = t__T3->R27 ; // ~R27 ShippingClerk if (t__T4->base__INST.classDesc == &bookstore__CLASSES[33]) { struct ShippingClerk *t__T1 ; t__T1 = t__T4 ; freeClerk = t__T1 ; if (freeClerk->awaitingAssignment) { goto l__L1 ; } else { freeClerk = NULL ; } } } l__L1: ; return freeClerk ; } static MRT_DelayTime ShippingClerk_randomdelay(void) // // random number 1 - 10 in tenths of a second // MRT_DelayTime delay = (MRT_DelayTime)((rand() % 10 + 1) * 100) ; // MRT_DEBUG("delay = %" PRIu32 "\n", delay) ; |
Changes to micca/code/c/mellor-balcer/bookstore.h.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/* * ---------------------------------------------------------------------- * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * Created by: /home/andrewm/working/mrtools-micca/micca/code/starpack/x86_64-linux-tcl8.6/micca/lib/application/micca_main.tcl simplebookstore.micca sbs_population.micca * Created on: Thu Mar 21 11:06:50 PDT 2019 * This is micca version 1.1.5 * ---------------------------------------------------------------------- */ #ifndef BOOKSTORE_H_ #define BOOKSTORE_H_ /* * Domain Interface Contents |
| | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/* * ---------------------------------------------------------------------- * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * Created by: /home/andrewm/working/mrtools-micca/micca/code/starpack/x86_64-linux-tcl8.6/micca/lib/application/micca_main.tcl simplebookstore.micca sbs_population.micca * Created on: Wed Dec 18 16:26:34 PST 2019 * This is micca version 1.1.7 * ---------------------------------------------------------------------- */ #ifndef BOOKSTORE_H_ #define BOOKSTORE_H_ /* * Domain Interface Contents |
Changes to micca/code/c/mellor-balcer/bookstore.log.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
**** Scenario 1: begin ---- creating a shopping cart 2019-03-21T11:06:53.219.406: Creation: ?.? - startCart -> ShoppingCart ==> 0 2019-03-21T11:06:53.219.430: Transition: ?.? - startCart -> ShoppingCart.0: @ ==> NewOrder 2019-03-21T11:06:53.219.438: Transition: ShoppingCart.0 - addSelection -> ShoppingCart.0: NewOrder ==> AddingSelectiontoOrder ---- changing quantity to 0 2019-03-21T11:06:53.219.459: Transition: ?.? - changeQuantity -> ProductSelection.0: NewSelection ==> ChangingQuantity 2019-03-21T11:06:53.219.465: Transition: ProductSelection.0 - removeSelection -> ProductSelection.0: ChangingQuantity ==> RemovingSelection 2019-03-21T11:06:53.219.471: Transition: ProductSelection.0 - cancel -> ShoppingCart.0: AddingSelectiontoOrder ==> CancelingEntireOrder **** Scenario 1: end **** Scenario 2: begin ---- creating a new cart 2019-03-21T11:06:53.219.488: Creation: ?.? - startCart -> ShoppingCart ==> 1 2019-03-21T11:06:53.219.493: Transition: ?.? - startCart -> ShoppingCart.1: @ ==> NewOrder 2019-03-21T11:06:53.219.498: Transition: ShoppingCart.1 - addSelection -> ShoppingCart.1: NewOrder ==> AddingSelectiontoOrder ---- change quantity to 2 books 2019-03-21T11:06:53.219.510: Transition: ?.? - changeQuantity -> ProductSelection.1: NewSelection ==> ChangingQuantity ---- adding music to the shopping cart 2019-03-21T11:06:53.219.518: Transition: ?.? - addSelection -> ShoppingCart.1: AddingSelectiontoOrder ==> AddingSelectiontoOrder ---- checking out 2019-03-21T11:06:53.219.547: Transition: ?.? - checkOut -> ShoppingCart.1: AddingSelectiontoOrder ==> EstablishingCustomerandVerifyingPayment 2019-03-21T11:06:53.219.558: Creation: ShoppingCart.1 - checkOut -> Order ==> 0 2019-03-21T11:06:53.219.563: Transition: ShoppingCart.1 - checkOut -> Order.0: @ ==> EstablishingCustomerandVerifyingPayment 2019-03-21T11:06:53.219.569: Transition: Order.0 - submitCharge -> Order.0: EstablishingCustomerandVerifyingPayment ==> SubmittingCharge 2019-03-21T11:06:53.219.575: Creation: Order.0 - makeCharge -> CreditCardCharge ==> 0 2019-03-21T11:06:53.219.579: Transition: Order.0 - makeCharge -> CreditCardCharge.0: @ ==> RequestingChargeApproval ---- payment approval 2019-03-21T11:06:53.318.735: Transition: ?.? - chargeProcessed -> CreditCardCharge.0: RequestingChargeApproval ==> ProcessingCompleted 2019-03-21T11:06:53.318.825: Transition: CreditCardCharge.0 - paymentApproved -> Order.0: SubmittingCharge ==> BeingPackedandShipped 2019-03-21T11:06:53.318.858: Creation: Order.0 - requestShipment -> Shipment ==> 0 2019-03-21T11:06:53.318.873: Transition: Order.0 - requestShipment -> Shipment.0: @ ==> PreparingShipment 2019-03-21T11:06:53.318.896: Transition: Shipment.0 - shipmentReadyToPack -> Warehouse.acme: WaitingforaShipment ==> WaitingforaFreeClerk 2019-03-21T11:06:53.318.914: Transition: Warehouse.acme - clerkFree -> Warehouse.acme: WaitingforaFreeClerk ==> AssigningClerktoShipment 2019-03-21T11:06:53.318.930: Transition: Warehouse.acme - clerkAssignedToShipment -> Warehouse.acme: AssigningClerktoShipment ==> WaitingforaShipment 2019-03-21T11:06:53.318.943: Transition: Warehouse.acme - clerkAssigned -> ShippingClerk.fs: WaitingforaJob ==> SelectingBooks **** Scenario 2: end **** Scenario 3: begin ---- packing order 2019-03-21T11:06:53.719.115: Transition: ShippingClerk.fs - booksSelected -> ShippingClerk.fs: SelectingBooks ==> PackingBox 2019-03-21T11:06:54.419.347: Transition: ShippingClerk.fs - boxPacked -> ShippingClerk.fs: PackingBox ==> SealingBox 2019-03-21T11:06:55.219.580: Transition: ShippingClerk.fs - boxSealed -> ShippingClerk.fs: SealingBox ==> AttachingShippingLabel 2019-03-21T11:06:55.819.759: Transition: ShippingClerk.fs - shippingLabelAttached -> ShippingClerk.fs: AttachingShippingLabel ==> DeliveringBoxtoLoadingDock 2019-03-21T11:06:56.219.972: Transition: ShippingClerk.fs - boxAtLoadingDoc -> ShippingClerk.fs: DeliveringBoxtoLoadingDock ==> CompletingJob 2019-03-21T11:06:56.220.080: Transition: ShippingClerk.fs - packed -> Shipment.0: PreparingShipment ==> PackedandAwaitingTrackingNumber 2019-03-21T11:06:56.220.123: Transition: ShippingClerk.fs - clerkFree -> Warehouse.acme: WaitingforaShipment ==> IG **** Scenario 3: end **** Scenario 4: begin ---- delivering shipment 2019-03-21T11:06:56.220.200: Transition: ?.? - trackingNumberAssigned -> Shipment.0: PackedandAwaitingTrackingNumber ==> NumberAssigned 2019-03-21T11:06:56.419.261: Transition: ?.? - pickedUp -> Shipment.0: NumberAssigned ==> InTransittoCustomer 2019-03-21T11:06:57.220.322: Transition: ?.? - deliveryConfirmed -> Shipment.0: InTransittoCustomer ==> Delivered 2019-03-21T11:06:57.220.394: Transition: Shipment.0 - orderDelivered -> Order.0: BeingPackedandShipped ==> DeliveredtoCustomer **** Scenario 4: end |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
**** Scenario 1: begin ---- creating a shopping cart 2019-12-18T16:26:37.752.713: Creation: ?.? - startCart -> ShoppingCart ==> 0 2019-12-18T16:26:37.752.743: Transition: ?.? - startCart -> ShoppingCart.0: @ ==> NewOrder 2019-12-18T16:26:37.752.751: Transition: ShoppingCart.0 - addSelection -> ShoppingCart.0: NewOrder ==> AddingSelectiontoOrder ---- changing quantity to 0 2019-12-18T16:26:37.752.776: Transition: ?.? - changeQuantity -> ProductSelection.0: NewSelection ==> ChangingQuantity 2019-12-18T16:26:37.752.782: Transition: ProductSelection.0 - removeSelection -> ProductSelection.0: ChangingQuantity ==> RemovingSelection 2019-12-18T16:26:37.752.789: Transition: ProductSelection.0 - cancel -> ShoppingCart.0: AddingSelectiontoOrder ==> CancelingEntireOrder **** Scenario 1: end **** Scenario 2: begin ---- creating a new cart 2019-12-18T16:26:37.752.811: Creation: ?.? - startCart -> ShoppingCart ==> 1 2019-12-18T16:26:37.752.816: Transition: ?.? - startCart -> ShoppingCart.1: @ ==> NewOrder 2019-12-18T16:26:37.752.822: Transition: ShoppingCart.1 - addSelection -> ShoppingCart.1: NewOrder ==> AddingSelectiontoOrder ---- change quantity to 2 books 2019-12-18T16:26:37.752.837: Transition: ?.? - changeQuantity -> ProductSelection.1: NewSelection ==> ChangingQuantity ---- adding music to the shopping cart 2019-12-18T16:26:37.752.862: Transition: ?.? - addSelection -> ShoppingCart.1: AddingSelectiontoOrder ==> AddingSelectiontoOrder ---- checking out 2019-12-18T16:26:37.752.896: Transition: ?.? - checkOut -> ShoppingCart.1: AddingSelectiontoOrder ==> EstablishingCustomerandVerifyingPayment 2019-12-18T16:26:37.752.906: Creation: ShoppingCart.1 - checkOut -> Order ==> 0 2019-12-18T16:26:37.752.911: Transition: ShoppingCart.1 - checkOut -> Order.0: @ ==> EstablishingCustomerandVerifyingPayment 2019-12-18T16:26:37.752.918: Transition: Order.0 - submitCharge -> Order.0: EstablishingCustomerandVerifyingPayment ==> SubmittingCharge 2019-12-18T16:26:37.752.925: Creation: Order.0 - makeCharge -> CreditCardCharge ==> 0 2019-12-18T16:26:37.752.930: Transition: Order.0 - makeCharge -> CreditCardCharge.0: @ ==> RequestingChargeApproval ---- payment approval 2019-12-18T16:26:37.852.038: Transition: ?.? - chargeProcessed -> CreditCardCharge.0: RequestingChargeApproval ==> ProcessingCompleted 2019-12-18T16:26:37.852.117: Transition: CreditCardCharge.0 - paymentApproved -> Order.0: SubmittingCharge ==> BeingPackedandShipped 2019-12-18T16:26:37.852.155: Creation: Order.0 - requestShipment -> Shipment ==> 0 2019-12-18T16:26:37.852.171: Transition: Order.0 - requestShipment -> Shipment.0: @ ==> PreparingShipment 2019-12-18T16:26:37.852.199: Transition: Shipment.0 - shipmentReadyToPack -> Warehouse.acme: WaitingforaShipment ==> WaitingforaFreeClerk 2019-12-18T16:26:37.852.218: Transition: Warehouse.acme - clerkFree -> Warehouse.acme: WaitingforaFreeClerk ==> AssigningClerktoShipment 2019-12-18T16:26:37.852.237: Transition: Warehouse.acme - clerkAssignedToShipment -> Warehouse.acme: AssigningClerktoShipment ==> WaitingforaShipment 2019-12-18T16:26:37.852.255: Transition: Warehouse.acme - clerkAssigned -> ShippingClerk.fs: WaitingforaJob ==> SelectingBooks **** Scenario 2: end **** Scenario 3: begin ---- packing order 2019-12-18T16:26:38.252.330: Transition: ShippingClerk.fs - booksSelected -> ShippingClerk.fs: SelectingBooks ==> PackingBox 2019-12-18T16:26:38.952.494: Transition: ShippingClerk.fs - boxPacked -> ShippingClerk.fs: PackingBox ==> SealingBox 2019-12-18T16:26:39.752.693: Transition: ShippingClerk.fs - boxSealed -> ShippingClerk.fs: SealingBox ==> AttachingShippingLabel 2019-12-18T16:26:40.352.807: Transition: ShippingClerk.fs - shippingLabelAttached -> ShippingClerk.fs: AttachingShippingLabel ==> DeliveringBoxtoLoadingDock 2019-12-18T16:26:40.752.987: Transition: ShippingClerk.fs - boxAtLoadingDoc -> ShippingClerk.fs: DeliveringBoxtoLoadingDock ==> CompletingJob 2019-12-18T16:26:40.753.059: Transition: ShippingClerk.fs - packed -> Shipment.0: PreparingShipment ==> PackedandAwaitingTrackingNumber 2019-12-18T16:26:40.753.110: Transition: ShippingClerk.fs - clerkFree -> Warehouse.acme: WaitingforaShipment ==> IG **** Scenario 3: end **** Scenario 4: begin ---- delivering shipment 2019-12-18T16:26:40.753.189: Transition: ?.? - trackingNumberAssigned -> Shipment.0: PackedandAwaitingTrackingNumber ==> NumberAssigned 2019-12-18T16:26:40.952.191: Transition: ?.? - pickedUp -> Shipment.0: NumberAssigned ==> InTransittoCustomer 2019-12-18T16:26:41.753.249: Transition: ?.? - deliveryConfirmed -> Shipment.0: InTransittoCustomer ==> Delivered 2019-12-18T16:26:41.753.308: Transition: Shipment.0 - orderDelivered -> Order.0: BeingPackedandShipped ==> DeliveredtoCustomer **** Scenario 4: end |
Changes to micca/code/c/mellor-balcer/simplebookstore-docinfo.xml.
119 120 121 122 123 124 125 126 |
<revnumber>1.3</revnumber> <date>March 21, 2019</date> <authorinitials>GAM</authorinitials> <revremark> Built with micca 1.1.5. </revremark> </revision> </revhistory> |
> > > > > > > > |
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
<revnumber>1.3</revnumber> <date>March 21, 2019</date> <authorinitials>GAM</authorinitials> <revremark> Built with micca 1.1.5. </revremark> </revision> <revision> <revnumber>1.3</revnumber> <date>March 21, 2019</date> <authorinitials>GAM</authorinitials> <revremark> Built with micca 1.1.7. </revremark> </revision> </revhistory> |
Changes to micca/code/c/mellor-balcer/simplebookstore.pdf.
cannot compute difference between binary files
Changes to micca/code/starpack/macosx10.5-x86_64/micca.tpj.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
###
##
#
App/Code {}
App/Package {}
App/PostCode {}
Metadata {as::origin http://www.activestate.com/activetcl subject {tclkit basekit starkit starpack deployment} copyright {(c) 2014 ActiveState Software Inc.} author {{ActiveState Software Inc.}} description {A single file tcl interpreter for the execution of starkits, also a prefix file usable by Tcl Dev Kit's TclApp for the creation of starpacks.} tdk-licensed-to {George Mangogna <amangogna@mindspring.com> (Commercial license, serial number S2346083DA)} name tclapp-out as::build::date 2014-11-19 license {{ActiveTcl Community License v2.1} http://www.activestate.com/activetcl/license-agreement} platform macosx10.5-i386-x86_64 version 1.1.6 summary {Single File Tcl Executable}}
OSX/Info.plist {}
Path {Relativeto /Users/andrewm/develop/mrtools-micca/micca/code/tcl}
Path {File /Users/andrewm/develop/mrtools-micca/micca/code/tcl/micca.tcl}
Path {File /Users/andrewm/develop/mrtools-micca/micca/code/tcl/typename/typeparser.tcl}
Path {File /Users/andrewm/develop/mrtools-micca/micca/code/tcl/micca_main.tcl}
Path Startup
Path {Relativeto /Users/andrewm/develop/mrtools-micca/micca/code/c}
|
| |
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
###
##
#
App/Code {}
App/Package {}
App/PostCode {}
Metadata {as::origin http://www.activestate.com/activetcl subject {tclkit basekit starkit starpack deployment} copyright {(c) 2014 ActiveState Software Inc.} author {{ActiveState Software Inc.}} description {A single file tcl interpreter for the execution of starkits, also a prefix file usable by Tcl Dev Kit's TclApp for the creation of starpacks.} tdk-licensed-to {George Mangogna <amangogna@mindspring.com> (Commercial license, serial number S2346083DA)} name tclapp-out as::build::date 2014-11-19 license {{ActiveTcl Community License v2.1} http://www.activestate.com/activetcl/license-agreement} platform macosx10.5-i386-x86_64 version 1.1.7 summary {Single File Tcl Executable}}
OSX/Info.plist {}
Path {Relativeto /Users/andrewm/develop/mrtools-micca/micca/code/tcl}
Path {File /Users/andrewm/develop/mrtools-micca/micca/code/tcl/micca.tcl}
Path {File /Users/andrewm/develop/mrtools-micca/micca/code/tcl/typename/typeparser.tcl}
Path {File /Users/andrewm/develop/mrtools-micca/micca/code/tcl/micca_main.tcl}
Path Startup
Path {Relativeto /Users/andrewm/develop/mrtools-micca/micca/code/c}
|
Changes to micca/code/starpack/win32-x86_64/micca.tpj.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
###
##
#
App/Code {}
App/Package {}
App/PostCode {}
Metadata {subject {tclkit basekit starkit starpack deployment} as::origin http://www.activestate.com/activetcl copyright {(c) 2015 ActiveState Software Inc.} author {ActiveState Software Inc.} description {A single file tcl interpreter for the execution of starkits, also a prefix file usable by Tcl Dev Kit's TclApp for the creation of starpacks.} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name tclapp-out as::build::date 2015-06-05 license {ActiveTcl Community License} platform win32-x86_64 summary {Single File Tcl Executable} version 1.1.6}
OSX/Info.plist {}
Path {Relativeto C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/posix/micca_rt_internal.h}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/posix/micca_rt.c}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/posix/micca_rt.h}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/arm-7m/efm32gg/micca_rt_internal.h}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/arm-7m/efm32gg/micca_rt.c}
|
| |
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
###
##
#
App/Code {}
App/Package {}
App/PostCode {}
Metadata {subject {tclkit basekit starkit starpack deployment} as::origin http://www.activestate.com/activetcl copyright {(c) 2015 ActiveState Software Inc.} author {ActiveState Software Inc.} description {A single file tcl interpreter for the execution of starkits, also a prefix file usable by Tcl Dev Kit's TclApp for the creation of starpacks.} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name tclapp-out as::build::date 2015-06-05 license {ActiveTcl Community License} platform win32-x86_64 summary {Single File Tcl Executable} version 1.1.7}
OSX/Info.plist {}
Path {Relativeto C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/posix/micca_rt_internal.h}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/posix/micca_rt.c}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/posix/micca_rt.h}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/arm-7m/efm32gg/micca_rt_internal.h}
Path {File C:/Users/andrewm/Working/modelrealization/mrtools-micca/micca/code/c/arm-7m/efm32gg/micca_rt.c}
|
Changes to micca/code/starpack/x86_64-linux-tcl8.6/micca.
cannot compute difference between binary files
Changes to micca/code/starpack/x86_64-linux-tcl8.6/micca.tpj.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
###
##
#
App/Code {}
App/Package {}
App/PostCode {}
Metadata {name micca platform tcl version 1.1.6 tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)}}
OSX/Info.plist {}
Path {Relativeto /home/andrewm/working/mrtools-micca/micca/code/tcl}
Path {File /home/andrewm/working/mrtools-micca/micca/code/tcl/micca.tcl}
Path {File /home/andrewm/working/mrtools-micca/micca/code/tcl/typename/typeparser.tcl}
Path {File /home/andrewm/working/mrtools-micca/micca/code/tcl/micca_main.tcl}
Path Startup
Path {Relativeto /home/andrewm/working/mrtools-micca/micca/code/c}
|
| |
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
###
##
#
App/Code {}
App/Package {}
App/PostCode {}
Metadata {name micca platform tcl version 1.1.7 tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)}}
OSX/Info.plist {}
Path {Relativeto /home/andrewm/working/mrtools-micca/micca/code/tcl}
Path {File /home/andrewm/working/mrtools-micca/micca/code/tcl/micca.tcl}
Path {File /home/andrewm/working/mrtools-micca/micca/code/tcl/typename/typeparser.tcl}
Path {File /home/andrewm/working/mrtools-micca/micca/code/tcl/micca_main.tcl}
Path Startup
Path {Relativeto /home/andrewm/working/mrtools-micca/micca/code/c}
|
Changes to micca/doc/howto/processing.txt.
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 ... 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 ... 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 ... 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 |
signal to a class instance. It is possible to translate the activity by writing the ``C'' code that invokes `mrt_SignalEvent()` directly, and that would cause the signal to be generated. The difficulty of coding directly against the run-time library interfaces is: * There is a large cognitive burden to understand the details of the run-time API and supply the correct argument values. * Direct coding against the run-time API strongly couples the model translation to the run-time interface. Future changes to the run-time that might be required to correct errors or extend its functionality could break a translation. The `micca` solution to this is to provide an _embeddable_ command language that generates the code needed for model level actions. One significant advantage of the embedded commands is that `micca` has access to the platform specific model when the code generation happens. Consequently, error diagnosis is much improved. If you attempt to signal an event to a class instance and that class does not accept such an event, `micca` is able to diagnose that condition and issue an appropriate error message. This helps detect errors earlier in the process rather than relying on the ``C'' compiler. === `Micca` embedded command language An activity in a `micca` translation, _e.g._ a state activity, appears as ordinary ``C'' code with other commands embedded into the code. The commands are embedded by surrounding them with the `<%` and `%>` characters. ................................................................................ so do not place semicolons in the output. The reference documentation for the embedded command language states which behavior each command has, but you will quickly know the difference by the intent of each embedded command. * During the code generation, the embedded command is removed from the input and the semantically equivalent ``C'' code is placed in the output at the same location. * Since it is unknown how many ``C'' statements a command may generate, all statements should be treated as _compound_ statements and surrounded by curly braces (as we did in the `if` test of the previous example). ==== Generated code Most people who perform a model translation using `micca` initially are curious about the contents of the generated ``C'' code. It usually takes some experience to trust the tooling and examining the code can garner that trust. In the end, everything must end up as ``C'' code and we should be able to read that code. What follows is a sample showing a state activity and its generated code. First, we show the `micca` source. This is a state activity, so it would be part of a state model. ................................................................................ * There may be only one outstanding delayed signal for any given event between any sending / receiving pair of instances (which might be the same instance). This is the same as saying that delayed events are identified by the name of the event, the sending instance and the receiving instance. This is a rule of the XUML execution semantics. * The unit of time is milliseconds, so there is no way to have really high frequency signal delays. * The delay time is the *minimum* time before the signal will be delivered. Software execution can introduce small additional delays or jitter. * Delivery of any delayed signal starts a new <<thread-of-control,_thread of control_>>. * It is acceptable to have a delay time of zero. This means the event is queued immediately and, when it is dispatched, ................................................................................ } } ---- This approach can be tedious if there are even a modest number of subtype classes and we insist upon covering all the possible subclasses. To help this situation, `micca` provides an embeddeded command called, `classify`, that outwardly appears similar to a `switch` statement on the subclass type. ---- <%R22 classify product prodtype %> <% subclass Book_Product %> // Here, prodtype is a reference to a Book_Product instance // Do something with protype appropriate for a Book_Product |
| > > | > | | | > | | | | | |
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 ... 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 ... 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 ... 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 |
signal to a class instance. It is possible to translate the activity by writing the ``C'' code that invokes `mrt_SignalEvent()` directly, and that would cause the signal to be generated. The difficulty of coding directly against the run-time library interfaces is: * There is a large cognitive burden to understand the details of the run-time API and to supply the correct argument values. * Direct coding against the run-time API strongly couples the model translation to the run-time interface. Future changes to the run-time that might be required to correct errors or extend its functionality could break a translation. The `micca` solution to this is to provide an _embeddable_ command language that generates the code needed for model level actions. You can think of the embedded commands as automatic bridge generation, bridging model level actions to ``C'' code to implement the action. One significant advantage of the embedded commands is that `micca` has access to the platform specific model when the code generation happens. Consequently, error diagnosis is much improved. If you attempt to signal an event to a class instance and that class does not accept such an event, `micca` is able to diagnose that condition and issue an appropriate error message. This helps detect errors earlier in the process rather than relying on the ``C'' compiler which cannot give as precise an error message as the embedded command. === `Micca` embedded command language An activity in a `micca` translation, _e.g._ a state activity, appears as ordinary ``C'' code with other commands embedded into the code. The commands are embedded by surrounding them with the `<%` and `%>` characters. ................................................................................ so do not place semicolons in the output. The reference documentation for the embedded command language states which behavior each command has, but you will quickly know the difference by the intent of each embedded command. * During the code generation, the embedded command is removed from the input and the semantically equivalent ``C'' code is placed in the output at the same location. * Since it is unknown how many ``C'' statements an embedded command may generate, all statements should be treated as _compound_ statements and surrounded by curly braces (as we did in the `if` test of the previous example). ==== Generated code Most people who perform a model translation using `micca` are curious, initially, about the contents of the generated ``C'' code. It usually takes some experience to trust the tooling and examining the code can build that trust. In the end, everything must end up as ``C'' code and we should be able to read that code. What follows is a sample showing a state activity and its generated code. First, we show the `micca` source. This is a state activity, so it would be part of a state model. ................................................................................ * There may be only one outstanding delayed signal for any given event between any sending / receiving pair of instances (which might be the same instance). This is the same as saying that delayed events are identified by the name of the event, the sending instance and the receiving instance. This is a rule of the XUML execution semantics. * The unit of time is milliseconds, so there is no way to have really short signal delays. * The delay time is the *minimum* time before the signal will be delivered. Software execution can introduce small additional delays or jitter. * Delivery of any delayed signal starts a new <<thread-of-control,_thread of control_>>. * It is acceptable to have a delay time of zero. This means the event is queued immediately and, when it is dispatched, ................................................................................ } } ---- This approach can be tedious if there are even a modest number of subtype classes and we insist upon covering all the possible subclasses. To help this situation, `micca` provides an embedded command called, `classify`, that outwardly appears similar to a `switch` statement on the subclass type. ---- <%R22 classify product prodtype %> <% subclass Book_Product %> // Here, prodtype is a reference to a Book_Product instance // Do something with protype appropriate for a Book_Product |
Changes to micca/src/wmctrl-trace.txt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
2019-06-16T16:27:44.062.552: Transition: ?.? - Start -> WashingMachine.wm1: Stopped ==> FillingToWash 2019-06-16T16:27:44.062.644: Transition: WashingMachine.wm1 - Fill -> ClothesTub.ct1: Empty ==> Filling 2019-06-16T16:27:47.062.839: Transition: ?.? - TubFull -> ClothesTub.ct1: Filling ==> Full 2019-06-16T16:27:47.062.925: Transition: ClothesTub.ct1 - Full -> WashingMachine.wm1: FillingToWash ==> Washing 2019-06-16T16:27:47.062.972: Transition: WashingMachine.wm1 - Agitate -> ClothesTub.ct1: Full ==> Agitating 2019-06-16T16:28:02.063.131: Transition: WashingMachine.wm1 - Done -> WashingMachine.wm1: Washing ==> DrainingWash 2019-06-16T16:28:02.063.268: Transition: WashingMachine.wm1 - Drain -> ClothesTub.ct1: Agitating ==> Emptying 2019-06-16T16:28:05.063.484: Transition: ?.? - TubEmpty -> ClothesTub.ct1: Emptying ==> Empty 2019-06-16T16:28:05.063.570: Transition: ClothesTub.ct1 - Empty -> WashingMachine.wm1: DrainingWash ==> FillingToRinse 2019-06-16T16:28:05.063.603: Transition: WashingMachine.wm1 - Fill -> ClothesTub.ct1: Empty ==> Filling 2019-06-16T16:28:08.063.803: Transition: ?.? - TubFull -> ClothesTub.ct1: Filling ==> Full 2019-06-16T16:28:08.063.883: Transition: ClothesTub.ct1 - Full -> WashingMachine.wm1: FillingToRinse ==> Rinsing 2019-06-16T16:28:08.063.923: Transition: WashingMachine.wm1 - Agitate -> ClothesTub.ct1: Full ==> Agitating 2019-06-16T16:28:18.064.092: Transition: WashingMachine.wm1 - Done -> WashingMachine.wm1: Rinsing ==> DrainingRinse 2019-06-16T16:28:18.064.165: Transition: WashingMachine.wm1 - Drain -> ClothesTub.ct1: Agitating ==> Emptying 2019-06-16T16:28:21.064.387: Transition: ?.? - TubEmpty -> ClothesTub.ct1: Emptying ==> Empty 2019-06-16T16:28:21.064.474: Transition: ClothesTub.ct1 - Empty -> WashingMachine.wm1: DrainingRinse ==> Spinning 2019-06-16T16:28:21.064.516: Transition: WashingMachine.wm1 - Spin -> ClothesTub.ct1: Empty ==> Spinning 2019-06-16T16:28:36.064.652: Transition: WashingMachine.wm1 - Done -> WashingMachine.wm1: Spinning ==> Stopped 2019-06-16T16:28:36.064.816: Transition: WashingMachine.wm1 - Stop -> ClothesTub.ct1: Spinning ==> StoppingSpin |
| | | | | | | | | | | | | | | | | | | | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
2019-12-18T16:32:12.865.581: Transition: ?.? - Start -> WashingMachine.wm1: Stopped ==> FillingToWash 2019-12-18T16:32:12.865.655: Transition: WashingMachine.wm1 - Fill -> ClothesTub.ct1: Empty ==> Filling 2019-12-18T16:32:15.865.792: Transition: ?.? - TubFull -> ClothesTub.ct1: Filling ==> Full 2019-12-18T16:32:15.865.878: Transition: ClothesTub.ct1 - Full -> WashingMachine.wm1: FillingToWash ==> Washing 2019-12-18T16:32:15.865.928: Transition: WashingMachine.wm1 - Agitate -> ClothesTub.ct1: Full ==> Agitating 2019-12-18T16:32:30.866.045: Transition: WashingMachine.wm1 - Done -> WashingMachine.wm1: Washing ==> DrainingWash 2019-12-18T16:32:30.866.100: Transition: WashingMachine.wm1 - Drain -> ClothesTub.ct1: Agitating ==> Emptying 2019-12-18T16:32:33.866.226: Transition: ?.? - TubEmpty -> ClothesTub.ct1: Emptying ==> Empty 2019-12-18T16:32:33.866.287: Transition: ClothesTub.ct1 - Empty -> WashingMachine.wm1: DrainingWash ==> FillingToRinse 2019-12-18T16:32:33.866.308: Transition: WashingMachine.wm1 - Fill -> ClothesTub.ct1: Empty ==> Filling 2019-12-18T16:32:36.866.423: Transition: ?.? - TubFull -> ClothesTub.ct1: Filling ==> Full 2019-12-18T16:32:36.866.483: Transition: ClothesTub.ct1 - Full -> WashingMachine.wm1: FillingToRinse ==> Rinsing 2019-12-18T16:32:36.866.508: Transition: WashingMachine.wm1 - Agitate -> ClothesTub.ct1: Full ==> Agitating 2019-12-18T16:32:46.866.612: Transition: WashingMachine.wm1 - Done -> WashingMachine.wm1: Rinsing ==> DrainingRinse 2019-12-18T16:32:46.866.676: Transition: WashingMachine.wm1 - Drain -> ClothesTub.ct1: Agitating ==> Emptying 2019-12-18T16:32:49.866.765: Transition: ?.? - TubEmpty -> ClothesTub.ct1: Emptying ==> Empty 2019-12-18T16:32:49.866.834: Transition: ClothesTub.ct1 - Empty -> WashingMachine.wm1: DrainingRinse ==> Spinning 2019-12-18T16:32:49.866.862: Transition: WashingMachine.wm1 - Spin -> ClothesTub.ct1: Empty ==> Spinning 2019-12-18T16:33:04.866.965: Transition: WashingMachine.wm1 - Done -> WashingMachine.wm1: Spinning ==> Stopped 2019-12-18T16:33:04.867.024: Transition: WashingMachine.wm1 - Stop -> ClothesTub.ct1: Spinning ==> StoppingSpin |