Saturday, May 15, 2010

The Wonderland of Modelling

Its a true pleasure to witness the evolution of Modelling API of Eclipse.

Joshua M. Epstein reflected on the importance of modelling

The basics:
Joshua M. Epstein ...
We're all modelers, but most of our models are implicit, not explicit.
Sometimes we model either to predict or to explain
And there are at least 15 other good reasons to build explicit models . . .

1.Explain (very distinct from predict)
2.Guide data collection
3.Illuminate core dynamics
4.Suggest dynamical analogies
5.Discover new questions
6.Promote a scientific habit of mind
7.Bound (bracket) outcomes to plausible ranges
8.Illuminate core uncertainties.
9.Offer crisis options in near-real time
10.Demonstrate tradeoffs / suggest efficiencies
11.Challenge the robustness of prevailing theory through perturbations
12.Expose prevailing wisdom as incompatible with available data
13.Train practitioners
14.Discipline the policy dialogue
15.Educate the general public
16.Reveal the apparently simple (complex) to be complex (simple)

Its just not the fact that Eclipse Modelling has acquired a very high-end Graphical Capabilities with the advancement of GMF and performance boost with CDO; but also the mammoth extensibility and convertibility of EMF from almost any proprietary / domain-specific model into any platform-specific implementation by leveraging model transformation technologies.

We know that how any type of meta-model / model (UML, Annotated POJO, XSD, WSDL, DB Schema, PRR, PMML, Ontology etc.) can be seamlessly converted into EMF and then be represented into GMF and finally persisted into platform-specific models by applying platform-specific (Finance/telecom/Health etc.) profiles. Here is one post -
Graphical Model Transformation

M2M (XPand) and TMF (XText) simplified backward compatibilities of models and popularized the usabilities amongst non-modellers who can focus on specific entities of a system.

Modelling takes a giant step forward with 'AMP' - Agent Modelling Platform.

This is what is mentioned in - 'http://www.eclipse.org/proposals/amp/'
::
Agent-Based Modeling (ABM), an innovative technique used to explore complex phenomenon in many domains, including economics, social sciences, bio-medicine, ecology and business operations.

The starting point is the Agent Meta-model Ecore ('ACore') for modelling the Agents.
Agent models share characteristics with object models, but are:

Spatial: Models have explicit environment(s) in which agents interact. (An environment need not be a physical landscape; other examples of spatial relationships include social networks or positions within a logic system.)
Temporal: Models change over discrete units of time.
Autonomous: Agent behaviors are activated independently from other object requests.
Heterogenous: Agents may share behavior definitions but have apparent and distinct states and behaviors.
Collective: Models contain large communities of agents which exhibit collaborative and competitive behaviors.
Emergent: Agents have collective macro-behaviors that are non-obvious from agent micro-specifications.

Agent Model can be of great help where interconnected systems knowingly / unknowingly contribute to the unpredictable behaviour of real-life entities. What could be a better usecase than simulating the behaviour of H1N1 virus

:: AMP can be used as a independent module in Eclipse and simply use its services (say Agent Graphical Fwk - AGF) for performing business rules, resoning tasks and dynamic visualization support.

:: AXF - Agent Execution Framework can also be very useful even in contexts outside agents. One can simple adapt to the IEngine service of AXF to leverage the scheduling service provided by the Agent Model Engine and many other features.

If we want to get your feet wet with this amazing modelling tool - here is how you can Setup AMP Environment

Stay tuned to - http://wiki.eclipse.org/AMP/UserGuide/

One can delve into the Technical Details and understand AMP architecture.

Its interesting to browse through Lyle Wallis's observations on applying systems science to business, social, and natural systems using Agent Based Modelling.

Specially, its an absorbing read on complex systems.

Lyle Wallis comments -
So I was excited to see this article in the Harvard Business Review. The authors ... ".. believe the time has come to broaden the traditional approach to leadership and decision making and form a new perspective based on complexity science."
... we can take effective management action in complex systems and create a surprising level of predictability.

Lets now look back into Eclipse modelling itself. One can now create a dynamic graph layout with moveable nodes using Zest

Reference :

Eclipse Zest Resources
http://www.eclipse.org/gef/zest/ Eclipse Zest Homepage
http://wiki.eclipse.org/index.php/GEF_Zest_Visualization Eclipse Zest Wiki
http://www.eclipse.org/gef/zest/snippets.php Eclipse Zest Snippets
Animation using Zest

GEF
http://wiki.eclipse.org/GEF_Description2#Global_principle
http://wiki.eclipse.org/GEF_Troubleshooting_Guide
http://www.eclipse.org/gef/reference/digraph1.php

AMP
http://www.eclipse.org/amp/
http://www.eclipse.org/amp/documentation/amp.pdf

Modelling Article
Why Modelling

All 'Agent' related terminologies @copyright - http://www.eclipse.org/amp/

No comments: