Discussion Board   
   

Discussion Board

Current Discussion

Q:Can I write my thesis?

A: Yeah! Officially start.

Current Discussion

Q:Is it realistic to stick to performance based on current settings?

The experiments done in the past month does not improve the performance significantly. There are several optimization has been done.

  • 1.Hashtable : This improve the performance by 1/3
  • 2.Using Himesis Loader instead of build from python code : Slow down by around 10 times. The reason is mainly the design of the parser when the model get large. Lots of time wasted in file I/O.
  • 3.Using list for global name instead of string to reduce the number of string.split: The list operations are slow too. In addition, the global name is used as string and as well as list. The improvedment is none.
  • 4.Direct Reference instead of hashtable: Only been useful in the action interpreter, where it adds precompilation to the interpreter. While the traversing of action model still cost time although Himesis Graph.getElements() is faster than Graph.getElement().

We can improve the performance by doing things that compilers do to the programs. However, due to the physical setup of our design, the result can not be seen anywhere further. Himesis is still slow. And considering the fact that researchers move away from interpreter to compiler for speed, should it be good to accept what we have now. Otherwise, we can roll back to the previous version where we use python module instead of Himesis node to represent models and actions?

A: ?

Q:How to improve the performance of Ark??

It is slow.

  • Creating model is slow expecially when the number of attributes, associations and compositions is large in each class.
  • Creating action model is OK.

A: Improve the performance as if it is a virtual machine.

Q:Is the action language part of meta meta model? Or is it just a formalism?

Action language defines the basic components that is to be used to build models for model actions and constraints.

Action language can define the actions/constraints in M3 objects.

Action language does not only belong to the M3 level, instead it is required in any layer of the modeling.

If it is part of M3, we use the concept of potency(=infinite) and copy this part of M3 to the next layer.

To bootstrap the AToM3 kernel from M3, we need to have action language in M3, but not in the other situations.

If I copy part of one model to the next layer, should I copy those elements that define this part from the metamodel to the current layer?

A: None.


Q: Unique names and Unique ID? Think about hierarchical graph and scope.

A: May need both.


Q1: What is the difference between namespace and package?

A: Package is a model structure which has meaning in the context. Namespace, as indicated in the text, is about a collection of names. A namespace is not necessary a model element.

The relationship between packages and namespaces is similar, to some degree, that between functions and scopes. Function and scope both define the visibility of a segment of code, while function (includeing 'if..else', 'while'and so on) define the visibility in a structure that has concrete meaning but scope only refere to any segment of code and does not have meaning in the context. In Hans' previous work, he designed language with notation of scope.

So far the questions remains that if we should treat namespace as a special package or we define them seperately.

  • Current solution: package is the real structure in a model to represent the hierarchy. A namespace must be explicitly defined if modeller wants a object to store names of model elements. It has collection of names.
  • Maintained by Xiaoxi. Last Modified: 2010/11/11 20:50:51.