During the last three decades MS Excel has become the de-facto standard for developing and executing financial, business and engineering models of quite different nature. Because of this widely spread familiarity with its look and feel, being able to do everything from within Excel may be an attractive proposition to professionals in many application domains. However, this does not necessarily mean that doing everything by means of the Excel functionality alone is reasonable and indeed even possible. While using Excel as a standard front-end (user interface) presentation facility, behind the scene many complementary modelling technologies and tools may seamlessly play their part as well. While serving as a powerful language tool for extending Excel’s built-in functionality, the Excel-specific part of VBA also greatly facilitates the deep integration of such foreign technologies and tools. This, of course, requires some kind of compatibility in terms of methodology and internal representation of the relevant pieces of information.
Although iConceptStore™ is designed and implemented in C++ as a general-purpose toolset (also reasonably well integrated with MS Word/Outlook/Project, MS Internet Explorer and MS SQL Server), Excel based modelling is one of its most promising applications as there exists an important architectural and methodological compatibility between iConceptStore™ and MS Excel:
Capitalising on these and other architectural/methodological similarities, a tight integration between the two complementary tools has been implemented (see the EntityNet-Excel integration architecture bellow). The easy-to-use high-level COM application programming interface (API) of iConceptStore™ provides for general purpose custom application development by means of MS Excel VBA. In addition, iConceptStore™ comes with an integrated Excel Add-in, providing direct interactive access to most of its sophisticated conceptual modelling capabilities from within Excel based application domain models (e.g., for the purposes of What-If Analysis).
This mixed-paradigm modelling is enabled by means of embedded dynamic spreadsheet links to arbitrarily complex conceptual model fragments, contained within iConceptStore™ modelbases, in turns possibly referencing SQL Server database tables as entity attribute Variations. In order to keep selected (active) spreadsheet cells and those external model fragments synchronized, any spreadsheet cell value change can be immediately propagated to its corresponding entity attribute in the respective conceptual model fragment. Conversely, dynamic feedback advise channels (loops) between Excel and EntityNet™ can be automatically turned on (and off) at run-time to provide timely updates to dependant attributes, embedded in active spreadsheet cells, whenever values of their conceptual model dependencies (possibly themselves depending on some other attribute or spreadsheet cell values) change.
The following EntityNet menue items (also partially accessible through a short-cut menu, displayed by pressing the mouse right-button over any worksheet) expose the current functionality of the iConceptStore™ Add-in for MS Excel, as described in the corresponding Help file:
iConceptStore™ links between its EntityNet™ run-time engine and MS Excel are implemented in the form of special-purpose suitably parameterised formulas, embedded in selected spreadsheet cells. This can be done either manually or typically by means of the EntityNet-Excel VBA Add-in – all entity attribute operations are activated by pressing the corresponding button of the ‘Entity Attribute Operations’ dialogue-box, shown bellow. The EntityNet-Excel Options dialogue-box (menu item seen above) allows to configure either ‘Embed Dynamic Links’ or ‘Insert Static Data’ mode of operation.
For example, requests for retrieval of entity attribute values, contained in the current iConceptStore™ modelbase, can be embedded within the currently selected spreadsheet cell(s) by pressing the Request button. If any advise (dynamic update) link from EntityNet™ to Excel (as opposed to ordinary retrieval Request) is required, then the @ (Advise) check-box must be checked in order to send to EntityNet a specific set of request location details as shown bellow:
Likewise, pressing the Add/Change button creates in the current iConceptStore™ modelbase a new entity attribute or changes the value of any existing one according to the attribute class and data type selected. If any Change advise link from Excel to EntityNet (opposite to Request advise), related to this entity attribute value(s), is required, then again the @ (Advise) check-box must be checked and the Params/Values edit control should contain a reference to the target cell to be synchronized, as shown in the example bellow. Consequently, whenever the value(s) in the target cell(s) change, the corresponding new value(s) is(are) sent to EntityNet for modelbase update.
The value in any of the upper three edit control windows can be entered either directly or preferably (if entered in a cell on the worksheet before hand) by means of any valid Excel R1C1-style reference – merely collapse the dialog box by clicking on the small control on the right of the respective edit window to browse and select the target cell (refer to the scenario screenshots bellow for details).
The iConceptStore™ (SQL-Link Edition) main instances query operation - retrieval of the values of selected number/range of the instances set (CML Variations), if any, of the Entity specified – is activated by pressing the Request button of the ‘Entity Instances Operations’ dialogue-box (shown bellow). The extracted instances subset is selected in accordance with the optional SQL expression in the Select Criteria edit-window. Only the properties (columns), optionally listed (comma separated) in the Attributes List edit-window, would be included (in the order listed) in the subset retrieved. If the Attributes List edit-window is empty (or contains only the default ‘*’ character) and the Select Criteria edit-window is empty, then the complete set of instances (CML Variations) of this entity would be extracted. The retrieved instance values are placed in an automatically sized square range of cells with its top-left corner located at the current cursor position and a number of down-right adjacent cells populated as needed. In the simplest case, the Entity name is enough to retrieve the complete set of values.
The iConceptStore/EntityNet Excel Add-in provides for dynamic retrieval and update of relevant values by embedding in the target cell range the instances request in the form of a special-purpose suitably parameterised formula, reflecting exactly the contents of the ‘Entity Instances Operations’ dialogue-box controls - note the contents of the formula bar on the screenshot above.
Unlike Excel scenarios, iConceptStore™ scenarios are represented in an open native Excel 2-D table format as shown on the screenshot above. Created manually or by means of the iConceptStore™ Excel add-in to simplify the process, they may be located anywhere on the worksheet without any relation to each other and are saved as part of their host worksheet – see also the larger scenario in the previous ‘Entity Attribute Operations’ Add/Change example.
The ‘iConceptStore Scenarios’ dialog box can be collapsed by clicking the small control on the right of any of its edit windows to browse and select the appropriate cell – circling dashed line animation outlines the selected cell and its R1C1-style reference appears in the small edit-control window as shown on the screenshot bellow. Clicking again on the small control on the right brings back the normal-sized dialog-box.
Any such scenario can be activated directly by selecting the Apply Scenario item of the iConceptStore™ Excel add-in short-cut menu (displayed by pressing the mouse right-button) or clicking on the Apply button of the ‘iConceptStore Scenarios’ dialogue-box, if displayed.
The interpretation of the information in some of the multipurpose controls of the aforementioned ‘Entity Attribute Operations’ and ‘iConceptStore Scenarios’ dialog boxes is operation-specific. Instructions for the relevant operation are displayed in a small pop-up tooltip window, appearing when the cursor is hovering over any dialog-box control. Further detailed explanations are also contained in the help files, displayed by pressing the Help button.
Models serve as controlled environments in which to test hypotheses. They are aimed at producing insights that support problem-solving and decision making, as shown on the Business Analysis Lifecycle picture bellow.
Business Analysis Lifecycle, by Professor Thomas Grossman, University of San Francisco, School of Business Studies
The following definitions of the action terms in the above figure are borrowed (with slight modifications/extensions) from an earlier article of its author with the possible role of iConceptStore in the whole process added by us in red. Such potential usage of iConceptStore™ introduces an intermediate stage of model development as well as another level and component in the model structure. This allows to actually achieve one of the central ideas of the above scheme - separation of modelling from spreadsheet engineering.
“UNDERSTAND” = Form a Conceptual Model in Mind
“iCS MODELLING” = Create a Conceptual Model in Conceptor™ CML, compiled into iConceptStore™ modelbase
“ENGINEER” = Implement a Spreadsheet Model, linked to Conceptual Model fragments in iConceptStore™ modelbase
“ANALYZE” = Perform Analysis on Model
“INTERPRET” = Interpret and Explain Model Insights
“COMMUNICATE” = Explain, Recommend, Persuade, Decide, Act
In general, the iConceptStore™ original declarative modelling language, dynamic software infrastructure and supporting tools enable sophisticated multi-facet approach to modular structuring of the relevant information, directly represented in the specific individual terms of the corresponding application domain. This natural object-oriented paradigm allows focusing on understanding model behavior rather than getting the model to work.
The iConceptStore™ technologies, including the area of conceptual modelling within MS Excel by means of the iConceptStore™ COM APIs, tools and run-time services, enable Excel/VBA programmers to reach beyond the spreadsheet paradigm. Integration of the compatible and complementary iConceptStore™ technologies with Excel/VBA aims at creating a technological foundation for collaboration with professional VBA programmers and/or Excel modelling experts in different application areas,who are able to appreciate the iConceptStore™ potential as a modelling tool, in general, and Excel companion, in particular.
Armed with the iConceptStore™ technologies, any team of professional VBA programmers and Excel modelling (problem-solving) experts in selected application areas may be able to undertake more complex modelling tasks, whether as relatively isolated specific parts of large bespoke application systems or more generally applicable software and/or information modules as products for wider commercial distribution. We may be able to provide some methodological and technological support to such efforts as far as they involve in some way the iConceptStore™ infrastructure and tools. This might encompass participation in the system-level analysis and conceptualization of the application domain at hand with respect to problem decomposition and solution architecture alternatives as well as more routine activities, including but not limited to design and implementation of any specific high performance C/C++ interfaces, extensions and/or alterations to iConceptStore™ as required.
Copyright © 2005-2020 Dr Vesselin I. Kirov