1. Its a true pleasure to witness the evolution of Modelling API of Eclipse.
Joshua M. Epstein reflected on the importance of modelling
(http://jasss.soc.surrey.ac.uk/11/4/12.html )
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
2. 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/
3. 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
CDO – small memory-footprint EMF Objects
All 'Agent' related terminologies @copyright - http://www.eclipse.org/amp/