Meetings with Hans   
   
Publication Topics

Sep ~10th 2009

Discussed topics that will each eventually lead to publications
  • Language Evolution (with Bart)
  • User study of effectiveness of
    • DSM (vs. traditional design/coding)
    • weaving approach to DSM design vs. ad hoc approach
  • adapID (aim for DSM workshop)
    • security/privacy domain, crypto building blocks (software engineer vs. crypto expert)
    • product lines (allows for variation points in requirements and platform)
    • design choices (framework vs. DSL)
  • PhoneApps (tech report++)
    • not yet about language weaving. Rather at model level: model ripping and weaving
  • Debugging (A)
    • of transformations (and DSM design in general)
  • Debugging (B)
    • of synthesized applications (trace-ability, instrumentation) in modelling context
  • Language weaving
    • Breakdown along concrete syntax, abstract syntax, semantics
    • Breakdown along different formalisms
    • ...
Discussed the general idea for case studies (to use in papers and in thesis): all focused on "glueing" services such as network, UI, crypto, ... together. Examples are (1) cooking recipes, (2) secure, privacy-preserving, distributed (elderly care?), ...

Timeline + AdapID

Sep ~10th 2009

  • Went over my PhD deliverables timeline
    • Publications : ASAP
    • Internship : ? MathWorks 2010 ?
    • Progress Reports : Fall 2010, Fall 2011
    • Thesis Proposal : Fall 2010
    • Thesis Submission : Summer 2011
  • Went over my PhD priorities
    • Oct-Nov 2009 : adapID (>> publication)
    • Next up : Language Engineering (main contribution) and DSM Debugging
    • Soon : Evolution stuff with Tihamer (Traffic to PetriNets)
    • Applications : Recipes on PDAs, Education workshop
    • ... : Take over AToMPM Kernel from Xiaoxi
  • Introduction to adapID project
  • Overviewed roles of AToMPM kernel
    • Persisting models
    • Checking model conformance
    • Tool independent model differencing
    • Transformation
    • Action (matching+condition+rewriter)
    • Versioning
    • Debugging
    This new kernel maps all models onto Himesis graphs (i.e. Directed Typed Hierarchical Graphs). This means that every model built in AToMPM conforms to some MM but also to the Himesis Graph language.

Timeline + Fachwerk

Mar 18th 2009

  • Went over my "timeline" on Hans' wall
  • Went over Fachwerk formalism

Meeting Cancelled

Mar 11th 2009


Transformations in A3R

Mar 4th 2009

  • Went over Rule MM
  • Went over workflows for rule creation, transformation creation and transformation execution in A3R
  • Went over precise actions involved in meta-model weakening/augmenting process
    given a PetriNet place as the source:
    
    PetriNet.Place:
     int weight
     string name
    
    we would want this at the output of the augmenting process:
    
    PetriNet.Place extends MT_A3RNode
     int weight
     MT_Condition<int> match_condition_weight
     MT_Action<int> update_action_weight
     string name
     MT_Condition<string> match_condition_name
     MT_Action<string> update_action_name
    
    (1) where MT_Action and MT_Condition are somehow related to the Action
    and Condition entities in your kernel MM
    
    for example, MT_Condition should be the union of
    int
    <ANY>
    <CodedCondition>
    meaning it can be specified as an integer, as any integer or as a
    coded condition
    
    for example, MT_Action should be the union of
    int
    <COPY>
    <CodedAction>
    meaning it can be specified as an integer, as a copy of the LHS value
    or as coded action
    
    (2) where MT_A3RNode inherits from A3RNode (the god node for A3R nodes)
    

Upcoming work...

Feb 18th 2009

  • Discussed structure of a good paper:
    1. What are the needs?
    2. What has been done?
    3. How do I do it?
    4. Case study
    5. Evaluation, Future work...
  • At next meeting, should present reading summary (1-2 pages) of debugging literature
  • Upcoming work will focus on (1) helping Jake with some details, (2) setting up A3R for defining transformation rules in a way that will enable higher order transformations (i.e. rules in the own formalism). This entails
    • Weakening (relax constraints) and Augmenting (add GGLabel, attribute conditions...) existing formalisms
    • Defining the MM for rules (NAC, LHS, RHS, condition, ...)
    • Sending rules and models to a Motif server (Jake's and Eugene's work)
    • Providing step-by-step feedback of rule applications and effects to A3R (Eugene's work)
    • Displaying and using this feedback (Jake's and ?my? work)
  • Some or all of the above mumbo-jumbo should make into a MODELS paper

Reading discussion...

Feb 11th 2009

  • Discussed reading
    • Meta-model and model evolution and model versioning seem well studied. There is no complete tool but several decent solutions exist.
    • Debugging and simulation (see last meeting) can still be explored.
    • Further reading will determine if DSL synthesis by "linearly combining" base formalisms (statecharts, devs, diff. equations, ...) and some kind of rule language is unexplored.
    • Mentioned should start producing summaries of read papers.
  • Evoked possibility of publishing extended PhoneApps work in MODELS 2009
  • Re-discussed the possibility of some lunch money for the semester

Reading discussion

Jan 14th 2009

  • Discussed ideas of interest that were encountered or imagined when reading SoSym 2003-2004.
    • Meta-model inheritance. It seems the challenge here is obtaining the semantics of the child meta-model automatically (or at least partially automatically) given a transformation from the parent MM to the child MM and the semantics of the parent.
    • DSL simulators. For DSLs where the notions of states and transitions apply; specifying events, states and transitions in a certain pre-defined way may allow for the automatic generation of graph grammar rules that describe system behavior and can hence be run to provide a simulation environment. This idea seems both novel and interesting; a challenge is to see how it can be applied to DSLs for which states and transitions don't apply e.g. agent based systems, constraint based systems, action languages.
  • Also discussed the possibility of some lunch money for the semester

Meeting Cancelled

Dec 10th 2008


522 Project + Correspondence Graph Bug Follow-Up

Dec 3rd 2008

  • Discussed progress regarding 522 course project
  • Found cause of rules breaking when connecting edges.
    Symptom After adding a rule that connects edges and saving, the resulting GG, when loaded, displays no rules.
    Cause A block of code is not present at the end of the resulting saved GG.
    Solution This block can be identified using a diff tool (e.g. meld) from before and after adding the rule that connects edges. Manually re-adding this block enables you to load the GG and see the rules.
    BUT Saving the GG again re-removes the block of code. Further investigation into what triggers the exception (see Kernel/ATOM3.py line 3435 : [...] "Restarting AToM3 recommended" [...]) could maybe yield a solution...

Meeting Cancelled

Nov 26th 2008


Meeting Cancelled

Nov 19th 2008


Demo + 522 Project

Nov 12th 2008

  • Hans explained modified 522 assignment
  • Done with toggle visibility in atom3. This will eventually be replaced by modeled projections rather than calls to setVisibility()...
  • Discussed than when done with (1)keeping all formalisms during transformations (this produces correspondence graph), (2)"porting" to motif and (3)522 project with jake's gui, i should take a few weeks off and concentrate on doing a full literature review and survey.

Demo + 522 Project

Nov 5th 2008

  • Demoed DSM animation
  • Discussed 522 project.
    1. Filling in (by hand) code for function "doesMetaModelAllowThisEdge()" in Jake's UI : currently, any node can be connected to any other; to make this domain-specific, constraints need to be applied in "doesMetaModelAllowThisEdge()".
    2. Writing code to do this filling automatically based on class diagram.
    3. Studied formalisms are those in PhoneApps (+transformations) and Petri Nets.
    4. Mentioned should read Denis Dube's Masters thesis Chapters 1 and 3 for info about Statechart modelled UIs.
    5. Note that "doesMetaModelAllowThisEdge()" only accounts for connection-constraints i.e. not global pres-save constraints etc.

Animating, Backward links...

Oct 29th 2008

  • Waiting on Eugene adding support for global constraints to port PhoneApps to MoTif
  • Completed animation of DSM via "forward" links (custom-made web services)
  • Discussed more or less convincingly why issues such as evolution are research questions.
  • Discussed how to animate (and more) via backward links rather than forward links: idea is basically to keep all nodes (vs. progressively erase nodes from higher level formalisms) when doing transformations and then using the resulting multi-formalism+GenericGraph graph (which we can call a correspondence graph) to establish backward links.
  • Mentioned a quick-and-easy way of implementing multi-view by means of an ATOM3 API function that can render specified nodes invisible...
  • Discussed producing some sort of a table of correspondences between code debugger features and a debugger features in the DSM world... (see table below, added 08/10/31)
Code Debugger FeaturesAnalogous "Model Debugger" Features
Breakpoints (on variables accesses/writes; on statements)Force the execution to stop when a model entity (in any formalism) is accessed/edited. This can mean editing a node attribute, transiting from one state to another, etc.
Tracing (state and flow)Keep a log (perhaps visual) of what goes on. This log should cover all levels of abstraction.
Getting/Setting stateAbility to observe/change the state of the model. This can mean looking at node attribute values, changing the node that describes the current state, etc. Attribute values should reflect current values in the generated application AND state changes at the modelling level should be reflected in the generated application.
Debug on/off compilationTransformations weave or don't weave debugging information into the generated application.
Step over/Step intoAbility to "go inside" a modular DSM entity and see the impact of interactions with the generated application on its inner workings AND/OR "go lower" in terms of formalisms and see the impact of interactions with the generated application on intermediate formalisms (i.e. formalisms "between" the DSM and the generated code).

Animating, Backward links

Oct 15th 2008

  • Discussed ongoing MoTif struggle
  • Discussed animating the DSM (webservices, handcrafted server)
  • Discussed means of establishing correspondences between application and DSM (from annotations to "correspondence graphs")

Meeting Cancelled

Oct 8th 2008


Meeting Cancelled

Oct 1th 2008


Not much...

Sep 24th 2008

  • No progress to report due to recent work on masters project
  • Discussed dropping 762
  • Planned to complete fellowship proposals after upcoming lab meeting
  • Planned to have considerably advanced Motif-PhoneApps for next meeting

Mind map update, Courses...

Sep 17th 2008

  • Discussed fact that one of Hans' proposals can be used to write my own...Hence, delayed actual writing of my proposal
  • Updated MindMap and discussed code synthesis on iPhone
  • Confirmed creation of PhD committee (Hans, Joerg and Xue)
  • Filled out Course Reduction Form and discussed pertinent courses
  • Discussed possible partnerships with Airborne, EA, Panasonic pending completion of paper on PhoneApps+Motif

Mind map Draft, Progress Update and $$$

Sep 5th 2008

  • Hans confirmed "emergency" funding for the fall term
  • Hans plans to contact Gabriela regarding embedded systems
  • We decided PhD committee members would be Hans, Jorg and Xue. Hans must contact them.
  • Discussed concepts (see below) to be organized in a mind map; plan is to refine mind map into the NSERC and FQRNT proposal.
    • Designing DSLs
      • Modeling application requirements
      • Modeling DSL design blocks
      • When and where DSM/L are useful
      • Establishing a concrete empirically proven process to design and create DSLs and appropriate model transformations from known requirements and target platform; how to obtain an acceptable compromise between requirements and target platform constraints.
      • Textual vs. Visual DSLs
      • Appropriate expressiveness of DSLs
        • Reflection capabilities?
        • Escape doors to Turing complete languages?
    • Modeling tool accessibility and User interface
      • Hand-drawn models (creating models with a pen and tablet as opposed to a keyboard and mouse)
      • Desired modeling platform (PC vs. PDA)
      • Web-access (c.f. new AToM3)
    • Practical mixing of DSLs
      • Language composition (parent model has sub-models from various formalisms)
      • Language embedding (e.g. can put Java snippet in model; can put model snippet in Java)
    • Theoretical mixing of DSLs
      • Analysis of ripping of DSLs into lower level formalisms to gain insight into possible weaving of lower level formalisms to generate DSLs
    • Code synthesis
      • Desired target platform for generated code? (general purpose (e.g. Android, Unix) vs. embedded systems (VHDL, SystemC))
    • Evolution
      • Meta-model evolution (impacts on existing models and transformations)
      • Version control for models (e.g. diffing 2 models -> identifying modifications)
      • Version control for meta-models
    • Simulation, Debugging and Testing
      • Animation of the DSMs via backward links from generated code to DSM
      • Traceability to identify specific area in DSM that causes wanted/unwanted behavior in generated application
      • Testing DSMs and model transformations
  • Link to mind map here
  • Planned demonstration of PhoneApps for an upcoming friday

More TODOs, $$$ and more

Sep 5th 2008

  • Discussed NSERC and FQRNT alongside Eugene
  • Discussed reference letter authors: Hans and Frank
  • Discussed PhD committee members: Hans, Jorg, Gabriella/Xue
  • Discussed what will go in proposal: possible direction is mapping onto VHDL to open market from mobile phones to much more embedded systems.
  • Re-mentionned last meeting's todos

TODOs

Sep 3rd 2008

  • Discussed some todos listed below

  • Non-eclipse Android
  • Update transformation rules with Eugene's ATOM3 (use NACs, subtype matching)
  • Do transformation map in MOTIF
  • Add backward links from generated code: to original model and all intermediate models. Intention: animation (via SOAP), simulation and debugging. Approach: triple rules

Draft Topic Specification

August 2008

  • Suggested numerous information sources to get up to speed about DSM.
  • Discussed funding options (NSERC, NSERC-CRD, Hans' pocket).
  • Mentioned past and current attempt at contacting Airborne.

Maintained by Raphael Mannadiar. Last Modified: 2010/01/12 17:17:47.