What's new in Analytica 7.1?

(Redirected from Analytica 7.1)

Analytica 7.1 is currently under development, and will be the next future release of Analytica. The current official release is Analytica 7.0. This page is under construction, and will list enhancements that are new to Analytica or ADE 7.1.

Window appearance

The appearance of the chrome around child MDI windows (aka the "non-client area") has been changed to more closely match the Windows 11 style of windows -- i.e., thin (1 pixel) borders, rounded corners at the top, white title bar, very plain (text-like) button images in the toolbar.

Assista

Assista is Analytica's A.I. assistant. She is greatly improved in this release.

  • Her UI is now a top-level window that resides at the same level as Analytica's main application window.
    • You can move her chat window to a non-overlapping location or even a different monitor (to maximize screen real estate used by your Analytica window).
    • Selected objects remain visually selected in the main window when you type into Assista.
  • Her chat has a different look-and-feel.
  • Her chat window is faster and more responsive
  • You can drag-highlight any text in her chat and copy to paste elsewhere.
  • The UI has improved formatting capabilities for displaying Assista's response.
  • Her "thoughts" display as she is processing your prompt, making it clear she is working and even giving you a peek into how she is solving it.
  • She has a new processing pipeline on the backend, enabling her to respond faster but also work longer on harder tasks.
  • She has an extended set of competencies (skills).
  • You can create and expose your own custom skills to expand her capabilities, or ask her to do it for you.
  • You can drag-and-drop a document (*.txt, *.pdf, *.md, *.docx) or URLs into the chat which Assista can "ingest" during your conversation. Have her extract data from the doc, adding tables to your model. Or even to implement a model described by the paper.
  • Assista can "see" images in your model -- pictures in nodes, images in table cells, and diagram or graph screenshots.
  • She is language-aware. If you are using Analytica is Spanish, she'll provide UI instructions that refer to the Spanish-language UI elements.
  • She is aware of her reasoning in previous conversation turns and the actions she took, enabling her to explain her reasoning or build on ideas she thought about but might not have included in the final response.
  • She has an improved ability to navigate and find objects within your (large) models.

Multi-linguality: Spanish UI

Analytica now comes with a Spanish-language UI, in which its menus, dialogs, error messages and built-in function descriptions are all in Spanish. Also its installer runs with a Spanish-language UI when you are in a Spanish-language region. Spanish is the default when you are in a Spanish-language region.

You can override the default language by launching Analytica as:

  • Analytica.exe /lang:es
    or
  • Analytica.exe /lang:en

You can also set the Language registry setting in the "HKCU/Software/Lumina Decision Systems/Analytica" hive to REG_SZ "en" on "es" for your default if different from your windows region setting.

Some of you may ask "what about my language?". Stay tuned (and let us know there is a demand for your language). Once our AI translation pipeline is solid, it shouldn't be too hard for us to add more.

CSV files

There are now a few additional ways to open CSV files in Analytica:

  • On the command line: Analytica.exe MyData.csv
  • Drag and drop a *.csv file onto the diagram (which behaves the same as using File / Import... on the *.csv file).

Spreadsheets

  • SpreadsheetOpen("new") now creates a blank spreadsheet in memory. Works with both the Excel and LibXl backends.
  • Prefacing a sheet name with + in the call to SpreadsheetSetCell or SpreadsheetSetRange will add a new sheet by that name to the workbook (as it applies the specified change to that new worksheet). Works with either backend.
  • You can also now remove a sheet from a workbook using: SpreadsheetSetCell(wb, "-OldSheet", col, row, Null). The «col» and «row» parameters are required but ignored in this case.

Misc. User Interface

  • The Node Icon editor (on the Diagram menu) is more featureful and can be used to edit arbitrary node images, with support for color and transparency.
  • Added keyboard shortcuts for Set Node Style... and Set Diagram Style...

Built-in functions

  • New options for GetProcessInfo: "Number of monitors", "Current monitor rect", "Current monitor work rect", "Monitor «N» Rect", and "Monitor «N» work rect".
  • New optional parameter, «throwParsingErrors», to Evaluate.
  • ReadFromURL is a bit smarter about returning binary content (like *.zip files) as a Binary Data Term.
  • MakeJSON will automatically encode an image in base64 JSON, and ParseJSON will automatically decode a base64 representation into an image.
  • GetProcessInfo("UI Language") returns the UI language, either "en" (for English) or "es" for Spanish.
  • QualifiedName( obj, nsContext ): Returns the qualified identifier (as text) that uniquely identifies «obj» from the context of «nsContext».
  • Namespace of X: A new virtual attribute that returns the namespace of «X».
  • Evaluate has a second return value that captures output to the typescript window (including stuff written by ConsolePrint) during the evaluation.

System variables

  • SysVar Graph_ColorSequence: Replaces Graph_ColorSeq which is now deprecated. The new sysvar contains a list of color interer with one integer (of the form 0x00rrggbb) per color (whereas the deprecated used triples of numbers per color).

Engine

  • After loading a large model, it parses expressions in parallel, using multiple threads/cores to parse different variables. On some computers on some models, this can dramatically speed up model load time.
  • Color attributes use color integers for consistently (rather than the legacy number triples for R,G,B).
  • You can use a localized namespace import (for a single expression or single lexical block) with the syntax
    Using NS;

Model loading

When opening a model file, the "checking" stage (when attributes are parsed) parses different expressions on different threads, resulting in substantially faster model load times for very large models.

Note: In the event that this creates a problem with your specific model (maybe due to an as-yet-undiscovered multithreading bug), you can disable it for your model as follows:

  1. Temporarily turn off multithreading (Skip this step if you are able to load your model)
    1. New model
    2. Definition menu / System variables / Settings / Maximum evaluation threads
    3. Set to 1 (and remember the previous value)
  2. Open your model
  3. Definition menu / System variables / Settings / Disable Multithreaded Evaluations
  4. Press the Edit Table button.
  5. Check the checkbox for Parsing
  6. Save your model
  7. Definition menu / System variables / Settings / Maximum evaluation threads
    Restore the original value from Step 1

MCP server

  • Added an ability to install multiple ADE-based Mcp servers that run different ADE releases. For example, you can install two MCP servers into Claude Code:
  • ade-server: Runs ADE 7.1
  • ade-server-70: Runs ADE 7.0

The information in the «ADE install folder»\Examples\Mcp_server\README.txt file explain how (with enough info for Claude code to configure this for you).

With both installed, Claude Code (or other MCP-enabled AI agents) can compare results for the same model across different releases, etc.

Side note: The Mcp server was added to ADE 7.0.

Internals

This release has undergone massive internal restructuring and refactorization. Ideally (i.e., in the absence of bugs) these changes won't change functionality, but may alter some aspects of behavior, hopefully for the better.

  • Internal data structures use for multi-dimensional arrays has been changed. Possible impacts:
    • Likely to remove the sensitivity to the "canonical order" of indexes on evaluation speed.
    • May change relative evaluation speeds of various functions and operations.
  • Added system modules/namespaces: SysLib_Internal and SysLib_Experimental. Intended for Analytica-internal use.
  • Cell formatting functions (like CellSpan, CellFill, etc.) are now Structs rather than functions. Does not impact usage, other that making it easier for code to traverse resulting data structures.

Discontinued...

  • Plug-in functions. (An old hook that allows you to extend Analytica with compiled functions and UI elements written it C++. We are almost certain no one is using these hooks any more.)
  • The sysvar Graph_ColorSeq is now deprecated (but works for both reading and setting to preserve backward compatibility). It has been replaced by the system variable Graph_ColorSequence.
  • The built-in (but undocumented, unsupported) ifpos and if0 functions were removed.
  • The legacy (deprecated) syntax Using temp:=... Do for declaring locals is no longer supported. Legacy models will have such definitions automatically rewritten to use Local..Do when you load them. Using..Do now has a different meaning, which is to provide a temporary namespace import.
Comments


You are not allowed to post comments.