Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
what_is_new_3 [2015/09/16 04:22]
admin
what_is_new_3 [2015/09/16 18:51]
admin
Line 1: Line 1:
 ===== What is New in Dinamica EGO 3 ===== ===== What is New in Dinamica EGO 3 =====
  
-Dinamica EGO 3 features a completely new graphical interface. ​The new features include: +Dinamica EGO 3 features a completely new graphical interface.
- +
-==== Features ==== +
- +
- +
- +
- +
-  * Better model edition tools; +
- +
-  * New model editor that allows several models to be open simultaneasly;​ +
- +
-  * The local submodels belonging to a model are presented together with the model itself; +
- +
-  * Copy and paste parts of a model; +
- +
-  * Print a model; +
- +
-  * Many more! +
- +
  
 A comprehensive list of changes can be seen below: A comprehensive list of changes can be seen below:
Line 35: Line 16:
     * The editor decides automatically if a script editor draft should be discard or kept when opening new models.     * The editor decides automatically if a script editor draft should be discard or kept when opening new models.
     * Models open from read-only filenames are identified by an special icon on the script editor.     * Models open from read-only filenames are identified by an special icon on the script editor.
-    * It is possible to print the current model. The visual representation of the model and editor content for all visible functors + comments + alias are printed. ​When printing ​the model details, the functors are rendered with a corresponding id visible, making easy to match the visual representation of the functor and its content.+    * It is possible to print the current model. The visual representation of the model and editor content for all visible functors + comments + alias are printed. ​If the model details ​are also being printed, the functors are rendered with a corresponding id visible, making easy to match the visual representation of the functor and its content.
     * Local submodels are presented with their corresponding model, allowing changes in the submodel to be applied immediately to the model.     * Local submodels are presented with their corresponding model, allowing changes in the submodel to be applied immediately to the model.
     * The menu of recently open files asks whether a model that failed to open should be removed from the list.     * The menu of recently open files asks whether a model that failed to open should be removed from the list.
Line 42: Line 23:
  
     * The functor library allows functors to be searched.     * The functor library allows functors to be searched.
-        * The search has filters ​allowing ​functors to be searched by their names, descriptions and information of their ports.+        * Some filters ​allows ​functors to be searched by their names, descriptions and information of their ports.
         * The search for functors can be performed using the special filters is:​container,​ is:loop, is:carrier, is:hook, is:mux, is:​junction,​ is:loader, is:saver, is:​submodel,​ is:​systemsubmodel,​ is:​usersubmodel,​ is:​localsubmodel.         * The search for functors can be performed using the special filters is:​container,​ is:loop, is:carrier, is:hook, is:mux, is:​junction,​ is:loader, is:saver, is:​submodel,​ is:​systemsubmodel,​ is:​usersubmodel,​ is:​localsubmodel.
         * It is possible to type the terms that should be used by the search and then check the result on the on the other library tabs.         * It is possible to type the terms that should be used by the search and then check the result on the on the other library tabs.
Line 59: Line 40:
     * No more edition modes.     * No more edition modes.
     * New presentation of functors and containers.     * New presentation of functors and containers.
-    * Select a functor to drag it, insert it and remove it from containers.+    * Select a functor to drag it, insert it in a container or remove it from containers.
     * Visual feedback showing whether a functor can be inserted in a container or not.     * Visual feedback showing whether a functor can be inserted in a container or not.
-    * It is used a distinct pattern to differentiate a collapsed container from other functors.+    * distinct pattern ​is used to differentiate a collapsed container from other functors.
     * Lines connecting functors inside collapsed containers are represented by a single line.     * Lines connecting functors inside collapsed containers are represented by a single line.
-    * Type of the line connecting functors ​represent ​the type of connection:+    * The type of the line connecting functors ​represents ​the type of connection:
         * Connection between functors: regular line.         * Connection between functors: regular line.
         * Connection between non-visible functors inside a container or between functor and non-visible functor inside a container: think line.  ​         * Connection between non-visible functors inside a container or between functor and non-visible functor inside a container: think line.  ​
     * Context toolbar visible next to the selected functor (functor action bar) showing the options that can be applied to that functor. The system places the action bar automatically to ensure its visibility. The action bar representation changes automatically to make clear which functor is selected. ​     * Context toolbar visible next to the selected functor (functor action bar) showing the options that can be applied to that functor. The system places the action bar automatically to ensure its visibility. The action bar representation changes automatically to make clear which functor is selected. ​
     * Options to collapse and expand functors:     * Options to collapse and expand functors:
-        * It is possible to collapse ​only the most internal functors. +        * Collapse ​only the most internal functors. 
-        * It is possible to collapse ​all functors. +        * Collapse ​all functors. 
-        * It is possible to expand ​all functors. +        * Expand ​all functors. 
-        * It is possible to collapse ​and expand all functors back to their saved state. +        * Collapse ​and expand all functors back to their saved state. 
-    * Zoom in and out can be performed using mouse wheel. The zoom is centered around the current mouse position.+    * Zoom in and out can be performed using the mouse wheel. The zoom is centered around the current mouse position.
     * It is possible to pan the model view by dragging the right mouse button.     * It is possible to pan the model view by dragging the right mouse button.
     * Dragging a functor hides all connections,​ except the ones connecting the functor.     * Dragging a functor hides all connections,​ except the ones connecting the functor.
     * Removing an ambiguous connection shows a dialog where the user can choose which connection will be removed.     * Removing an ambiguous connection shows a dialog where the user can choose which connection will be removed.
-    * Connecting two functors shows the connection dialog box when the connection is ambiguous.+    * Connecting two functors shows the connection dialog box if the connection is ambiguous.
     * Layout will center the model presentation on the functor currently selected. If no functor is selected, the whole model will be shown. If more than one functor is selected, the presentation will be centered on the resulting bounding box.     * Layout will center the model presentation on the functor currently selected. If no functor is selected, the whole model will be shown. If more than one functor is selected, the presentation will be centered on the resulting bounding box.
     * It is possible to copy, cut and paste selected functors. Functors will be always pasted on the visible portion of the screen.     * It is possible to copy, cut and paste selected functors. Functors will be always pasted on the visible portion of the screen.
Line 104: Line 85:
     * Expressions used by CalculateMap,​ CalculateLookupTable,​ CalculateValue etc are rejected when identifiers not bound to any corresponding NumberMap, NumberTable or NumberValue are used.     * Expressions used by CalculateMap,​ CalculateLookupTable,​ CalculateValue etc are rejected when identifiers not bound to any corresponding NumberMap, NumberTable or NumberValue are used.
     * The expression editor shows which identifiers [iX, tX and vX] area available to be used.     * The expression editor shows which identifiers [iX, tX and vX] area available to be used.
-    * When editing a carrier, the comment and alias from the carrier itself are used as the port description and name by the functor editor dialog.+    * When editing a carrier, the comment and alias from the carrier itself are used as the port description and port name by the functor editor dialog.
     * Editing hooks now fills the index automatically using the most appropriate value to avoid repetitions.     * Editing hooks now fills the index automatically using the most appropriate value to avoid repetitions.
  
Line 119: Line 100:
         * Issues from the list can be searched by their corresponding functor names, alias and error messages.         * Issues from the list can be searched by their corresponding functor names, alias and error messages.
         * Issues can be searched using special filters is:​container,​ is:loop, is:carrier, is:hook, is:mux, is:​junction,​ is:loader, is:saver, is:​submodel,​ is:​systemsubmodel,​ is:​usersubmodel,​ is:​localsubmodel. These filters operates over the corresponding functor.         * Issues can be searched using special filters is:​container,​ is:loop, is:carrier, is:hook, is:mux, is:​junction,​ is:loader, is:saver, is:​submodel,​ is:​systemsubmodel,​ is:​usersubmodel,​ is:​localsubmodel. These filters operates over the corresponding functor.
-    * It is possible to locate the functor from the corresponding issue in the issue list and to find the issue from the corresponding functor in the model view.+    * It is possible to locate the functor from the corresponding issue in the issue list and find the issue from the corresponding functor in the model view.
     * The issue pane of a model is visible only when the corresponding model is visible on the interface.     * The issue pane of a model is visible only when the corresponding model is visible on the interface.
     * The total issues of a functor is visible according to the current search criteria.     * The total issues of a functor is visible according to the current search criteria.
Line 147: Line 128:
 ==== Explorer ==== ==== Explorer ====
  
- Informação de desempenho de cada functor ​é atualizada automaticamente quando o modelo corrente é executado+    ​Information about performance for every functor ​is updated automatically when the current model is executed
-É mostrado o tempo acumulado para execução de cada functor ​do modelo+    The accumulated time spent by a functor ​during the last execution is shown near the functor name
-Os functors ​são visualizados de forma hierarquica sendo que os containers são mostrados como pais de seus functors filhos+    The functors ​are presented in a hierarchical view
-É possível expandir e colapsar os elementos da árvore de functors+    It is possible to collapsed and expand elements of the hierarchical view
-É possível fazer busca de functors ​da árvore por seus nomes, alias, descrições,​ ???Os pais dos functors ​encontrados são sempre visíveisO tempo total do script é atualizado para refletir o tempo acumulados dos functors ​visíveis.+    It is possible to search ​functors ​by their names, alias and descriptionsThe containers of the functors ​found during the search are always visible to clearly indicate where that functor is locatedThe accumulated time presented is updated to refer to the accumulated time spent by the visible ​functors ​only.
  
-Submodelos+==== Submodels ====
  
- Submodelos locais podem ser definidos em pasta com o nome do modelotrocando os pontos por "​_" ​e seguido por "_Submodelos"​. ​Ex: O script ​"teste.egoml" ​pode definir seus submodelos em uma pasta "teste_egoml_Submodels"​. ​A pasta "​Submodels" ​local ainda por ser usada para compatibilidade com as versões anteriores+    ​Local submodels are contained in a folder named after the main model filenamebut replacing dots with "​_" ​and followed by "_Submodels"​. ​For example, the main model "test.egoml" ​should place its local submodels in a folder ​"test_egoml_Submodels"​. ​The old folder ​"​Submodels" ​is processed for compatibility with the previous versions of the software
-Submodelos também poder definir submodelos locais ​[esse recurso ainda não ser editado na interface ​gráficamas eles são lidos e gravados normalmente]. A definição pode incluir outros submodelos locais+    Submodels can also define local submodels ​[Nested submodels can not be edited yet using the graphical ​interface, ​but they can be read and written as any other submodel. The definition can also include other nested local submodels]. 
-É possível selecionar um grupo de functors ​e transformar ​seleção em um submodeloA seleção será substituída pelo submodelo criadoOs portos conectando a seleção de functors ​aos demais functors do modelo são usados como portos de entrada e saída do submodeloÉ sugerido nome único inicial para o submodelo que será criado+    It is possible to select a group and functors ​and transform the selection into local submodelThe selection will be replaced by the corresponding submodelThe inputs and outputs connecting the functor selection to the other functors ​are used as inputs and outputs of the submodel itselfA unique name is also suggested to the submodel
-Functor que possuem portos exportados pelo submodelo ao qual o functor pertence é mostrado com representação especial+    Functors whose inputs and/or outputs are being exported by a submodel are painted using a special decoration
-É possível definir os ícones ​16x16 32x32 pixels usados pela representação do submodelo+    It is possible to choose a custom ​16x16 and 32x32 icon to represent a submodel
-Nomes dos portos dos submodelos são sugeridos automaticamente com base nos portos e functors ​selecionados ​+    Names of the inputs and outputs of a submodel are suggested automatically based on the selected ports and functors: 
- +        The names of the inputs and their corresponding descriptions are suggested according to the followingif the exported port belongs to a carrier ​and an alias and comment are definedthey will be used as the name and description of the port. Otherwiseif the exported port is connected to another ​functor ​and its alias and comment are definedthey will be used as the name and description of the port. Otherwisethe original ​input name and description will be used
- * Os nomes dos portos de entrada e suas descrições são sugeridos da seguinte formacaso o porto que será exportado pertença ​a carrier, o alias e descrição do functor será usado como nome e descrição do portocaso eles estejam definidos; senãocaso o porto que será exportado esteja conectado a functor, o alias e descrição do functor será usado como nome e descrição do portocaso eles estejam definidos; senãoserá usado o nome e descrição do porto original. +        The name the outputs and their corresponding descriptions are suggested according to the followingif the exported port belongs to a carrier ​and an alias and comment are definedthey will be used as the name and description of the port. Otherwiseif the exported port is connected to a carrier ​and its alias and comment are definedthey will be used as the name and description of the port. Otherwisethe original ​output name and description will be used. 
- Os nomes dos portos de saída e suas descrições são sugeridos da seguinte formacaso o porto que será exportado pertença ​a carrier, o alias e descrição do functor será usado como nome e descrição do portocaso eles estejam definidos; senãocaso o porto que será exportado esteja conectado ​functor que seja carrier, o alias e descrição do functor será usado como nome e descrição do portocaso eles estejam definidos; senãoserá usado o nome e descrição do porto original.+    * The creation of a submodel from selected functors automatically inserts carriers in the submodel to avoid having redundant inputs. 
 +    * At any time, it is possible to apply or discard changed from a local submodel. 
 +    * The errors detected inside a local submodel are presented visually by the graphical interface. 
 +    * Local submodels can be imported by other model scripts. The import includes all the submodel dependencies. 
 +    * It is also possible to import a user or system submodel and turn them into local submodels. By doing that, the submodel content can be edited and the resulting submodel used in the model. 
 +    * Inputs and outputs of a local submodel can be renamed at any time while keeping all previous connections where the submodel was being used. 
 +    * Submodels are constantly validated to make sure its uses are not causing a definition cycle.
  
- * Criação de submodelos insere automaticamente carriers nos submodelos para evitar que os submodelos criados tenham portos de entrada redundantes. +==== Wizard ====
- * A qualquer momento, é possível aplicar ou descartar as modificações de um submodelo local. +
- * Os erros ocorridos dentro dos submodelos locais são mostrados visualmente pela interface. +
- * Submodelos locais podem ser importados por outros scripts. A importação inclui todas a dependências dos submodelos. +
- * É possível importar submodelos do usuário e submodelos globais e torná-los submodelos locais de um script. Desse modo, o seu conteúdo pode ser editado e o submodelo modificado usado no script. +
- * É possível tornar qualquer submodelo local e suas dependências um submodelo do usuário. +
- * É possível renomear as entradas e saídas de um submodelo local mantendo as conexões anteriores dos functors do submodelo. +
- * Validação contínua se o uso dos submodelos causa ciclos nas definições.+
  
-Wizard?+    * New wizard editor.
  
 ==== Functor ==== ==== Functor ====
Line 187: Line 167:
     * The carrier name Double was changed to RealValue.     * The carrier name Double was changed to RealValue.
  
-    ​The new names are consistent with the name of functors such as CalculateValue [Calcula ​any value], MuxValue [provides feedback for any value] etc.+The new names are consistent with the name of functors such as CalculateValue [calculates ​any value], MuxValue [provides feedback for any value] etc.
                                     ​                                     ​
 ==== Types ==== ==== Types ====
-  ​+
     * Bool is now known as BooleanValue.     * Bool is now known as BooleanValue.
     * NonNegativeInt is now known as NonNegativeIntegerValue.     * NonNegativeInt is now known as NonNegativeIntegerValue.
Line 204: Line 184:
     * Fixed issues in various functors.     * Fixed issues in various functors.
     * The automatic detection of the number of processors now finds a maximum of 10 processors. This value can be increased or decreased manually, if necessary.     * The automatic detection of the number of processors now finds a maximum of 10 processors. This value can be increased or decreased manually, if necessary.
-    * The application ​can now maximizes correctly even when several screens are being used.+    * The application now maximizes correctly even if several screens are being used.
  
 ==== License ==== ==== License ====
  
     * Now the software can also be used by commercial institutions for commercial purposes.     * Now the software can also be used by commercial institutions for commercial purposes.