Differences

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

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
what_is_new_3 [2015/09/15 18:52]
admin created
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 26: Line 7:
 ==== Models ==== ==== Models ====
  
-    * It is possible drag several models to the script editor to open them.+    * It is possible ​to drag several models ​simultaneously ​to the script editor to open them.
     * The open model dialog allows several model filenames to be selected simultaneously.     * The open model dialog allows several model filenames to be selected simultaneously.
     * The interface does not hang while a model is being loaded.     * The interface does not hang while a model is being loaded.
Line 33: Line 14:
     * It is possible to save all open models simultaneously.     * It is possible to save all open models simultaneously.
     * Closing the application asks which modified models should be saved.     * Closing the application asks which modified models should be saved.
-    * It is open +    ​* 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. 
 +    ​* 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. 
 +    * The menu of recently open files asks whether a model that failed to open should be removed from the list.
  
- * É usado gerenciamento esperto para determinar quando um modelo aberto pode ser descartado e quando ele deve ser mantido na abertura de novos modelos. +==== Functor Library ====
- * Modelos abertos a partir de arquivos somente-leitura são identificados com um ícone especial no grupo de editores. +
- * É possível imprimir o modelo corrente. Tanto a parte visual do modelo quando o conteúdo dos editores dos functors visíveis + comentários + alias são impressos. Na impressão dos detalhes, os functors são renderizados com o seu id correspondente para que seja simples determinar a qual functor cada informação se refere. +
- * Submodelos locais dos modelos são apresentados junto com esses, permitindo que mudanças nos submodelos sejam imediatamente aplicadas ao modelo. +
- * Menu de modelos recentes pergunta se o modelo cuja abertura causou erro deve ser removido da lista.+
  
-Functor Library+    * The functor library allows functors to be searched. 
 +        * 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. 
 +        * 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. 
 +    * Funtors are split in general, submodel, favorites and local submodels. 
 +    * Hovering the mouse on a functor gives access to a context action bar with options to manipulate favorites, see the functor documentation etc. 
 +    * User submodels can be edited from the functor library. 
 +    * It is possible to flag functors and submodels as favorites. 
 +    * It is possible to collapse and expand the group of functors from the list. 
 +    * It is possible to scroll the library content using the mouse-wheel. 
 +    * The creation of certain functors also instantiate some accessory functors, e.g, CalculateMap also instantiate a NumberMap, CalculateLookupTable also instantiate a NumberTable etc. 
 +    * Functors can be created dragging their names to the script editor. 
 +    * Dragging the name of a functor to the script editor while pressing Shift automatically connects the input of the new functor to the output of the functor currently selected.
  
- * biblioteca de functors permite procurar por functors. +==== Script Editor ====
- *  +
- * Procura de functors possui filtros para procurar apenas por nomes, por  nome e descrição e pela informação dos portos. +
- * Procura de functors pode ser feita ainda pelos filtros especiais is:​container,​ is:loop, is:carrier, is:hook, is:mux, is:​junction,​ is:loader, is:saver, is:​submodel,​ is:​systemsubmodel,​ is:​usersubmodel,​ is:​localsubmodel. +
- * É possível digitar o termo da busca e em seguida verificar o resultado da busca em clicando nas demais abas da biblioteca.+
  
- Functors são separados em gerais, submodelos e favoritos+    ​No more edition modes
-Passando o mouse sobre o functor, ​é possível ter acesso e uma janela de contexto com opções para manipular favoritos, ver documentação do functor ​etc+    New presentation of functors and containers. 
-Submodelos do usuário podem ser editados ​partir da biblioteca de functors. +    * Select a functor ​to drag itinsert it in a container or remove it from containers. 
-É possível marcar e desmarcar ​functors ​e submodelos como favoritos+    * Visual feedback showing whether a functor ​can be inserted in a container or not
-Scroll do conteúdo pode ser feito usando o mouse-wheel. +    A distinct pattern is used to differentiate ​collapsed container from other functors. 
-A criação de certos ​functors ​também cria alguns ​functors ​acessórios ​(ex: CalculateMap também cria NumberMapCalculateLookupTable também cria NumberTable etc). +    Lines connecting ​functors ​inside collapsed containers are represented by a single line
-Functors são criados arrastando seus nomes para o editor de scripts+    The type of the line connecting functors represents the type of connection:​ 
-Arrastar nome do functor ​para o editor de script enquanto Shift é pressionado faz com que o porto de entrada do functor ​criado seja automaticamente conectado ao porto de saída compatível do functor ​selecionado+        * 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.   
 +    * 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: 
 +        * Collapse only the most internal functors. 
 +        * Collapse all functors. 
 +        * Expand all functors. 
 +        * Collapse and expand all functors back to their saved state. 
 +    * 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. 
 +    * 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. 
 +    * 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. 
 +    * It is possible to copy, cut and paste selected ​functors. Functors will be always pasted on the visible portion of the screen. 
 +        * Copying a container will copy its content as well. 
 +        * Copying the content of a container does not copy the container itself. 
 +        * All ports bound to functors that are not being copied are disconnected. 
 +    * It is possible to zoom and pan the model view using the overview painel. 
 +    * Invalid model cycles are presented visually in the script editor. 
 +    * The model is validated automatically during the functor manipulation. Functors and invalid connections are identified visually and also presented in a list (issue pane). 
 +    * It is possible to drag and drop maptables and weights of evidence filenames directly in your model. The functors responsible for loading each file are automatically created. 
 +    * After selecting a connection between functors, it is possible to navigate the connected functors, visualize the connection bounding box and/or expand the connected functors. 
 +    * It is possible to automatically create a group around selected functors. It is also possible to remove a group containing other functors. 
 +    * It is possible to automatically create special containers (such as loopsaround selected functors
 +    Special buttons can be used to automatically select all functors, clear the current selection or select only the child functors of a container
 +    The model overview, issue pane and explorer are visible only when the model is visible on the graphical interface. 
 +    * Double clicking a functor ​edits the functor ​inputs. If the functor ​does not have any editable inputs, double clicking edits its comments. 
 +    * Collapsing or expanding a container does not trigger a modification in the current model.
  
-Editor de modelos+==== Functor Edition ====
  
- Não existem mais modos de edição+    ​Improved layout for editors in the functor editor dialog
-Nova representação de functors ​containers+    It is possible to detach complex port editors from the functor editor dialog ​edit them in a separated window
-Selecione ​functor ​para arrastar e inserir e retirar de containers+    Complex port editors now fill all the available area in the editor dialog when they are the only editor. 
-Feedback visual indicando se inserção de um functor ​em um container é possível ou não+    * Editable inputs that are connected to other outputs can be disconnected directly from the functor ​editor dialog
-Padrão distinto na interface diferenciando ​container ​fechado de outros functors+    Inputs whose correction depends on the value of other inputs are validated by the functor ​editor dialog
-Linhas ligando functors dentro de containers fechados são colapsadas em uma única linha+    It is possible to revert the content of optional inputs back to their default values. This also includes binding auto-bound input to the internal compatible output of a parent ​container. 
-Desenho das linhas representa características das conexões: +    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. 
- * Ligações entre functors: linha contínua+    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
- Ligação entre functors não visíveis dentro de containers ou entre functor e functor não visível dentro de container: linha grossa+    Editing hooks now fills the index automatically using the most appropriate value to avoid repetitions.
  
- * Toolbar de contexto mostrada próximo ao functor selecionado contendo as opções que podem ser aplicadas a ele. O sistema procura sempre posicionar essa barra da melhor forma possível. O desenho da barra é automaticamente modificado quando o modelo é movido para deixar claro a qual functor ela correspondente. +==== Help ====
- * Opções para colapsar e expandir functors: +
- *  +
- * Possível colapsar apenas os functors mais internos. +
- * Possível colapsar todos os functors. +
- * Possível expandir todos os functors. +
- * Possível colapsar e expandir todos os functors de volta para o estado que estavam da última vez que o modelo foi gravado.+
  
- Zoom in e out pode ser feito usando o mouse-wheel. Posição corrente do pointeiro do mouse é usado como centro do zoom. +    ​The functor documentation is shown in a dockable panel
- * É possível dar pan no conteúdo da janela usando o botão direito do mouse. +
- * Ao mover um functor, as linhas de conexão não relacionadas são ocultas para simplificar ​visualização do modelo. +
- * Remoção de conexões ambíguas mostra caixa de dialogo onde pode ser escolhido quando conexão será removida. +
- * Conexão de functors mostra caixa de conexão sempre que a conexão é ambigua. +
- * Layout centraliza no functor correntemente selecionado. Se nenhum functor está selecionado,​ todo o modelo é mostrado após o layout. Se vários functors estão selecionados,​ o retângulo envolvente dos functors selecionados é mostrado.  +
- * É possível copiar, cortar e colar functor selecionados. Os functors são sempre colados no centro da área visível na tela. +
- *  +
- * Copiar container copia todo o seu conteúdo. +
- * Copiar conteúdo do container não copia o container. +
- * Qualquer porto associado a functor não copiado é desconectado.+
  
- * É possível fazer zoom e pan do modelo visualizado usando o overview. +==== Issue Pane ====
- * Ciclos inválidos no modelo são mostrados visualmente indicando quais functors causam o ciclo. +
- * Modelo é validado automaticamente durante a manipulação de functors. Functors e ligações incorretas são identificados visualmente e também apresentados em uma lista (issue pane). +
- * É possível arrastar e soltar nomes de mapas, tabelas e pesos de evidência diretamente no modelo. Os functors responsáveis pela carga dos arquivos são automaticamente criados. +
- * Ao selecionar ligação entre functor, é possível navegar ao longo da ligação, visualizar toda a ligação e/ou expandir os functors envolvidos, caso seja ligação colapsada. +
- * É possível criar grupo em torno de uma seleção de functors. Da mesma forma, é possível remover o grupo envolvendo outros functors. +
- * É possível cria functors especiais (tais como loops) em torno de uma seleção de functors. +
- * Botões especiais permitem selecionar automaticamente todos os functors, descartar a seleção ou selecionar os filhos de um container. +
- * Overview do modelo, issue pane e profiler são visíveis apenas enquanto o modelo é visível na interface. +
- * Duplo clique em qualquer functor faz com que ele seja editado. Caso o functor não possua portos editáveis, será feita a edição de seus comentários. +
- * Colapsar ou expandir containers não influência mais o estado de modificação do script.+
  
-Edição de functors+    * The list of current model issues is automatically updated while editing the model. 
 +    * The list is organized as a tree of functor with their corresponding issues as the functor children. 
 +    * It is possible to collapse and expand items from the list. 
 +    * It is possible to search for specific issues: 
 +        * 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. 
 +    * 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 total issues of a functor is visible according to the current search criteria. 
 +    * Trying to run a model with pending issues brings a confirmation dialog asking if the user would like to proceed. 
 +    * Reported Issues: 
 +        * Invalid functor cycles. 
 +        * Invalid cycles formed by internal input ports of a container and the container content. 
 +        * Missing input connection. 
 +        * Incompatibility between null value and cell type. ((Also validated by the functor editor dialog)) 
 +        * Invalid null value. ((Also validated by the functor editor dialog)) 
 +        * Cell type can not be used by categorization. 
 +        * Missing container hooks such as NumberMap, NameMap etc. ((Also validated by the functor editor dialog)) 
 +        * Undefined identifiers used by expression. ((Also validated by the functor editor dialog)) 
 +        * Invalid operations used in expressions by certain kinds of functors, e.g, line, column and functions nbXXXX use in a CalculateValue. ((Also validated by the functor editor dialog)) 
 +        * Definition of the same index by several hooks on the same container (Select'​s,​ Calculate'​s etc). 
 +        * Warning for Muxes placed directly inside a model script. 
 +        * Warning about identifiers defined but not used by an expression. 
 +        * Warning about the possible performance penalty when using some specific cell types. 
 +        * Warning about editing the feedback port from Muxes. 
 +        * Warning about Steps whose inputs are connected to some other functor. 
 +        * Warning about Steps whose inputs are being edited. 
 +        * Warning about Steps placed outside loop containers. 
 +        * Warning about carrier outputs not connected to any other functors. 
 +        * Validation of the parameters of a CreateCubeMap. 
 +        * Warning about hooks being used outside the appropriate containers.
  
- * Posicionamento dos editores melhorado na janela de edição do functor. +==== Explorer ====
- * É possível destacar editores complexos para uma janela separada, facilitando o seu preenchimento. +
- * Editores complexos ocupam toda a janela de edição quando são únicos. +
- * É possível desconectar portos editáveis diretamente da janela de edição. +
- * É feita a validação de valores durante a edição dos functors cuja correção depende da interação entre vários portos.  +
- * É possível voltar o conteúdo dos portos opcionais de volta para o valor padrão. Isso inclui associar o porto auto-associável ao porto interno dos containers pais. +
- * Edição de expressões usadas por CalculateMap,​ CalculateLookupTable,​ CalculateValue etc é validada quanto ao uso de identificadores não definidos por um NumberMap, NumberTable ou NumberValue correspondente. +
- * Editor de expressões mostra informação de quais identificadores [iX, tX e vX] estão disponíveis para uso na expressão. +
- * Edição de carriers usa o comentário e alias do próprio carrier em vez do nome e descrição do porto para decorar o editor. +
- * Edição dos hooks preenche os índices com os valores mais adequados para evitar repetições.+
  
-Help+    * Information about performance for every functor is updated automatically when the current model is executed. 
 +    * The accumulated time spent by a functor during the last execution is shown near the functor name. 
 +    * The functors are presented in a hierarchical view. 
 +    * It is possible to collapsed and expand elements of the hierarchical view. 
 +    * It is possible to search functors by their names, alias and descriptions. The containers of the functors found during the search are always visible to clearly indicate where that functor is located. The accumulated time presented is updated to refer to the accumulated time spent by the visible functors only.
  
- * Help de functor e da biblioteca de functors é mostrado em um painel que faz docking como os demais componentes.+==== Submodels ====
  
-Issue Pane+    * Local submodels are contained in a folder named after the main model filename, but 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. 
 +    * 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]. 
 +    * It is possible to select a group and functors and transform the selection into a local submodel. The selection will be replaced by the corresponding submodel. The inputs and outputs connecting the functor selection to the other functors are used as inputs and outputs of the submodel itself. A unique name is also suggested to the submodel. 
 +    * Functors whose inputs and/or outputs are being exported by a submodel are painted using a special decoration. 
 +    * It is possible to choose a custom 16x16 and 32x32 icon to represent a submodel. 
 +    * 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 following: if the exported port belongs to a carrier and an alias and comment are defined, they will be used as the name and description of the port. Otherwise, if the exported port is connected to another functor and its alias and comment are defined, they will be used as the name and description of the port. Otherwise, the original input name and description will be used. 
 +        * The name the outputs and their corresponding descriptions are suggested according to the following: if the exported port belongs to a carrier and an alias and comment are defined, they will be used as the name and description of the port. Otherwise, if the exported port is connected to a carrier and its alias and comment are defined, they will be used as the name and description of the port. Otherwise, the original output name and description will be used. 
 +    * 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.
  
- * A lista de pendência é atualizada automaticamente a medida que o modelo é editado. +==== Wizard ====
- * A lista é organizada como uma árvore de functors e suas pendências relacionadas. +
- * É possível colapsar e expandir os itens da lista. +
- * É possível fazer buscas na lista de pendências:​ +
- *  +
- * Lista de pendência possui filtros que possibilita fazer a busca por nomes de functors, alias e mensagens de erro. +
- * Procura de pendências ​ pode ser feita ainda pelos filtros especiais de propriedades dos functors is:​container,​ is:loop, is:carrier, is:hook, is:mux, is:​junction,​ is:loader, is:saver, is:​submodel,​ is:​systemsubmodel,​ is:​usersubmodel,​ is:​localsubmodel.+
  
- É possível encontrar o functor correspondente ao erro no modelo a partir da lista e encontrar as pendências na lista a partir do functor mostrado no modelo. +    ​New wizard editor.
- * A lista de pendência do modelo é visível apena enquanto o modelo é visível na interface. +
- * Total de pendências de cada functor são visíveis de acordo com o critério de busca corrente. +
- * A execução de modelo que apresenta pendências faz com que seja mostrado caixa de diálogo questionando o usuário se ele deseja realmente continuar a execução. +
- * Pendências informadas:​ +
- *  +
- * Ciclos inválidos de execução. +
- * Ciclos formados entre portos de entrada externos de container e o seu conteúdo.+
  
- * Falta de conexão em portos de entrada. +==== Functor ====
- * Incompatibilidade entre valor de nulo e tipo de célula. * +
- * Valor de null não permitido. * +
- * Tipo de célula não pode ser usado na categorização. * +
- * Ausência de functors filhos especiais em certos containers (NumberMap, NameMap, NameAndNumberMap etc). * +
- * Uso de identificadores não definidos em expressões. * +
- * Uso de operações inválidas em expressões para certos tipos de functors. Ex: Uso de line, column ou funções nbXXXX em CalculateValue. * +
- * Associação de vários hooks a um mesmo índice para um mesmo container (Select'​s,​ Calculate'​s etc) +
- * Warning para Muxes localizados diretamente dentro do script. +
- * Warning a respeito de identificadores definidos mas não usados em expressões. +
- * Warning a respeito de perda de desempenho para certos tipos de células. +
- * Warning para edição de porto feedback de Muxes. +
- * Warning para Steps cuja entrada está conectada a outro functor. +
- * Warning para Steps cuja entrada está sendo editada. +
- * Warning para Step localizado fora dos loops. +
- * Warning para carriers não conectados a outros functors.  +
- * Validação dos parâmetros inválidos do CreateCubeMap. +
- * Warning para hooks usados fora dos containers apropriados. ​+
  
 +    * New experimental parallel loop container (ParallelForEach).
 +    * Functors used to manipulate sub-regions now can also be used to manipulate cells outside the region.
 +    * Submodel ExpandKeysToColumns was optimized.
 +    * The carrier name Bool was changed to BooleanValue.
 +    * The carrier name NonNegativeInt was changed to NonNegativeIntegerValue.
 +    * The carrier name PositiveInt was changed to PositiveIntegerValue.
 +    * The carrier name Int was changed to IntegerValue.
 +    * The carrier name Double was changed to RealValue.
  
-*Indica itens que são validados também na edição dos portos. +The new names are consistent with the name of functors ​such as CalculateValue [calculates any value], MuxValue [provides feedback for any value] etc.
- +
-Busca + Profile Pane +
- +
- * Informação de desempenho de cada functor é atualizada automaticamente quando o modelo corrente é executado. +
- * É mostrado o tempo acumulado para a execução de cada functor do modelo. +
- * Os functors ​são visualizados de forma hierarquica sendo que os containers são mostrados como pais de seus functors filhos. +
- * É possível expandir e colapsar os elementos da árvore de functors. +
- * É possível fazer busca de functors da árvore por seus nomes, alias, descrições,​ ???. Os pais dos functors encontrados são sempre visíveis. O tempo total do script é atualizado para refletir o tempo acumulados dos functors visíveis. +
- +
-Submodelos +
- +
- * Submodelos locais podem ser definidos em pasta com o nome do modelo, trocando 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. +
- * Submodelos também poder definir submodelos locais [esse recurso ainda não ser editado na interface gráfica, mas eles são lidos e gravados normalmente]. A definição pode incluir outros submodelos locais. +
- * É possível selecionar um grupo de functors e transformar a seleção em um submodelo. A seleção será substituída pelo submodelo criado. Os 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. +
- * Functor que possuem portos exportados pelo submodelo ao qual o functor pertence é mostrado com representação especial. +
- * É possível definir os ícones 16x16 e 32x32 pixels usados pela representação do submodelo. +
- * Nomes dos portos dos submodelos são sugeridos automaticamente com base nos portos e functors selecionados : +
- *  +
- * Os nomes dos portos de entrada e suas descrições são sugeridos da seguinte forma: caso o porto que será exportado pertença a carrier, o alias e descrição do functor será usado como nome e descrição do porto, caso eles estejam definidos; senão, caso o porto que será exportado esteja conectado a functor, o alias e descrição do functor será usado como nome e descrição do porto, caso eles estejam definidos; senão, será usado o nome e descrição do porto original. +
- * Os nomes dos portos de saída e suas descrições são sugeridos da seguinte forma: caso o porto que será exportado pertença a carrier, o alias e descrição do functor será usado como nome e descrição do porto, caso eles estejam definidos; senão, caso o porto que será exportado esteja conectado a functor que seja carrier, o alias e descrição do functor será usado como nome e descrição do porto, caso eles estejam definidos; senão, será usado o nome e descrição do porto original. +
- +
- * Criação de submodelos insere automaticamente carriers nos submodelos para evitar que os submodelos criados tenham portos de entrada redundantes. +
- * 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. +
- +
-Functor +
- +
- * Novo loop de execução paralela (ParallelForEach). +
- * Novo funcionamento dos functors de manipulação de sub-regiões que permitem que as células fora da região também sejam manipuladas. +
- * Definição otimização do submodelo ExpandKeysToColumns. +
- * Modificação do nome do carrier Bool para BooleanValue. +
- * Modificação do nome do carrier NonNegativeInt para NonNegativeIntegerValue. +
- * Modificação do nome do carrier PositiveInt para PositiveIntegerValue. +
- * Modificação do nome do carrier Int para IntegerValue. +
- * Modificação do nome do carrier Double para RealValue. +
- +
-O novos nomes tem a vantagem de serem compativeis com o nome dos functors como CalculateValue [Calcula qualquer valor], MuxValue [faz mux de qualquer valor] etc.+
                                     ​                                     ​
-Tipos +==== Types ====
- +
- * Tipo Bool agora é conhecido como BooleanValue. +
- * Tipo NonNegativeInt agora é conhecido como NonNegativeIntegerValue. +
- * Tipo PositiveInt agora é conhecido como PositiveIntegerValue.+
  
- Tipo Int agora é conhecido como IntegerValue. +    * Bool is now known as BooleanValue. 
-Tipo Double ​agora é conhecido como RealValue.+    * NonNegativeInt is now known as NonNegativeIntegerValue. 
 +    * PositiveInt is now known as PositiveIntegerValue. 
 +    ​* Int is now known as IntegerValue. 
 +    * Double ​is now known as RealValue.
  
-Geral+==== General ====
  
- Verificação de modificações no script não geram informações espúrias no log. +    ​Checking model changes does not fill the log with expurious content
-É possível rolar qualquer aba presente na aplicação,​ quando múltiplas abas estão presentes em um componente, selecionando a aba e girando o mouse wheel. +    It is possible to scroll through the tabs of any tabbed pane presented by the application using the mouse wheel. 
-Título da aplicação agora é "​Dinamica EGO 32" ​para a versão ​32 bits e apenas ​"​Dinamica EGO" ​para a versão ​64. Nas versões anteriores era usada a notação inversa+    The application title is now "​Dinamica EGO 32" ​for the 32-bit version and just "​Dinamica EGO" ​for the 64-bit versionIn the previous version, it was the opposite
-Correções no funcionamento de vários ​functors. +    Fixed issues in various ​functors. 
-A detecção automática de processadores agora encontra um máximo de 10 processadoresEsse valor pode ser aumentado ou diminuído manualmente se necessário+    The automatic detection of the number of processors now finds a maximum of 10 processorsThis value can be increased or decreased manually, if necessary
-Maximização da aplicação em múltiplos monitores funciona corretamente.+    The application now maximizes correctly even if several screens are being used.
  
-Licença+==== License ====
  
- É possível que o software ​seja usado por instituições comerciais e empresas  ​+    ​Now the software ​can also be used by commercial institutions for commercial purposes.