Plan |
Home Plan Publications Deliverables Wish List Canada Links Edit |
Go to [current] week. Week 1+ Meeting new colleages, getting to know people, setting up my new working environment.. + Discuss with prof. H. Vangheluwe my work at MSDL lab. + Come up with a research plan for my stay at McGill and eventual deliverables. + Preparations for the SCSC 2003 conference. Week 2+ Attending the SCSC 2003 conference. Click here to view my presentation. + Set up my website (you are visiting it right now). + Finish and document My Little ZProject. Week 3+ Study the work of J. de Lara and H. Vangheluwe on their AToM3-generated Process Interaction environment. + SCSC'2003 follow-up contacts (Model Library, - DFD to UML transformations, Marine guy from NL, HASE, - Meta Calculus) + Model POKer's Initial System (view on the resources and processes) in Juan's PI notation. + Model POKer's Operational Semantics in the Graph Grammar formalism (15% done):
PS: This week ended bad. Week 4A Lesson:The Juan's PI MM implicitly includes a construct that corresponds to an efficient data structure (list) used in conventional programming languages. Expressing visually operational semantics of operations with the list (as a part of o.s. of my POKer commands) proved a major task, as number of special cases of the same rule was growing as function of 2 in power N, where 2 corresponds to 2 possible states of a queue (empty and not empty) and N to the number of queues in a search pattern (LHS). Solution: completely remove o.s. associated with complex and inneficient (visualy-wise) data structures into separate rules. Now, back to re-writing my GG rules. + Add new entity to the PI metamodel to explicitly represent mapping data structure, along with the existing sequence structure (this is the immidiate follow-up to the lesson above):
Note:Now efficient data structures (MachineMapping and Machine Queue) are explicitly present in the metamodel. However their type is still implicit. Without adding redundant constructs to the metamodel, a solution might be to annotate entities that are datastructures and using the upcoming type checking mechanism of Mark Provorst, lookup their types. For now, I hardcode the type information on the right entities (which is a hack). + Add new relationships to the PI metamodel:
These relationships represent managing objects (add, delete) in the context of two efficient data structures: sequences and mappings. This is related to deducing an efficient data-structure from a metamodel, e.g. PI MM. Note:Constraints in metamodel are responsible for so-called static semantics (i.e. how contsructs can be combined to build new constructs). Since I explicitly model semantics (both static and dynemic) in my GG model and human users are not intented to use this PI formalism, I can relax constraints in my metamodel and thus make easier my design process. + Implement GG rules that specify operational semantics of methods managing Items and Elements:
+ Continue to model POKer's Operational Semantics in the Graph Grammar formalism:
+ Email electronic version of my SCSC'2003 paper to M.Max. Week 5+ Fine tune the POKer model:
~ (SKIPPED) Make nicer visuals for GG rules. NOTE: + Update PI metamodel:
+ Make demos:
+ If time permits, extend POKer's o.s. model with low-priority rules:
+ Verify POKer operational semantics against piDemos operational semantics. Week 6 and 7+ Read about behaviour verification with help of Sequence Diagrams. + Document (briefly) the POKer model. + Draft a transformation from the operational semantics GG model to SCD in the Graph Grammar formalism. Note on specifying behaviour of GG rules conditions and attribute soecifications in LHS and RHS:
~ If time permits, add debugging (output) trace to the Process and POKer ~ If time permits, add error handling to POKer + Analyze shortcomings of my SCD Metamodel. Week8+ Tweak SCD Types:
+ Update SCD Metamodel:
+ Adapt Ernesto's DEVS_ER_mdl to NCSE case; it is directly usable as metamodel
under AToM3 as it is in ER formalism.
Note: I added + Make ER to SCD transformation to be able to transform DEVS_ER_mdl into a SCD model; this diagram containts software models of AtomicDEVS and CoupledDEVS components. Week 9 + Fix bug with Note: the bug shows itself when ER and SCD metamodels are loaded into AToM3 (model, LHS or RHS) at the same time. After a discussion with Ernesto, I suspect that the bug is due to a naming conflict between ER and SCD. + Update the Zope Product Generation transformation: + synchronize syntax of SCD elements with + verify that multiple ~ Q: Is it possible to recognise the subject of the last graphical event (e.g. '# # It is a fake constraints used as a placeholder for my visual handling # if hasattr(self.graphObject_, "isSelected"): del self.graphObject_.isSelected self.graphObject_.HighLight(0) self.graphObject_.DrawObject(self.graphObject_.dc) print "deselect" else: self.graphObject_.isSelected = 1 self.graphObject_.HighLight(1) print "select" ' + From SCD models generate ZProducts. + Complete Registration for ESS'2003. + Meeting with Hans at 18:30: discussion of my ESS paper. + September 15: Camera-Ready Paper deadline for ESS'2003 in Delft Week 10 + Modelling custom data types:
Solved "Text" bug, by copying "ATOM3Text" module into "Text" module,
and renaming "ATOM3Text" class "Text" in the new module. One final touch
is importing "ATOM3Text" from "ATOM3Text" in the beginning of
the python file with name that looks like a product of leaf types from
your custom type model. (In the same file, one can re-implement method
+ Update SCD_ER:
~ If time permits, reimplement SCDClass's appearence:
+ Add global attributes and constraints: it is redundant as SCD models won't be used as metamodels in ATOM3. + Explicitly model DEVS2DEVS_GG: changes the DEVS_SCD:
+ Explicitly model SCD2ZSCD_GG: prepares any SCD model for ZProduct Code generation:
~ Model Genereating Interfaces:
~ Update SCD2ZProduc_GG:
~ Test new components ~ If time permits, extend SCD with Simplified Sequence Diagrams. Note: I decided to NOT implement this feature, but described how Sequence Diagrams could be used together with Class diagrams to describe and make protocols, make consistency check between class and object, class' feature and object's feature; and verify that generated code (at some point) is valid (test against sequence diagrams). + If time permits, model Code Generation 2 PythonDEVS. Note: since I am reusing Ernesto's DEVS metamodel, I can use his Code Generation for PythonDEVS. This is a nice but not necessary feature, which I luckily don't have to implement myself. + Write it up (see my ESS'2003 paper) Week 11 and 12 + Q: How to access an LHS from an LHS of the GG being applied to the first LHS?
A: + Model GGrule2Parameters_GG (merged with in GG2SCD_GG_mdl) + Model GGrule2SCD_GG (merged with in GG2SCD_GG_mdl) + Model GG2SCD_GG_mdl:Initial Action:
Final Action:
Notes: Import data structures into the target SCD diagram - they will be subclassed into
Week 13~ Meeting with Hans on Friday, 15:30. Talk about:
+ Clean-up/finalise my models + Fix the SCD bugs. Note: Decorations in + Tack down loose ends:
~ October 9: fly back to the Netherlands On my return to the Netherlands
| |