Presentation is loading. Please wait.

Presentation is loading. Please wait.

From Metamodels to Models: Organizing and Reusing Domain Knowledge in System Dynamics Model Development Márcio de Oliveira Barros Cláudia Maria Lima Werner.

Similar presentations


Presentation on theme: "From Metamodels to Models: Organizing and Reusing Domain Knowledge in System Dynamics Model Development Márcio de Oliveira Barros Cláudia Maria Lima Werner."— Presentation transcript:

1 From Metamodels to Models: Organizing and Reusing Domain Knowledge in System Dynamics Model Development Márcio de Oliveira Barros Cláudia Maria Lima Werner Guilherme Horta Travassos COPPE / UFRJ

2 Motivation  SD Model Building –Models represent real-world elements, but their behavior are usually not easy to identify within model equations –Generally, models describe uniformly (by using average values) all elements pertaining to the same category –Knowledge embedded within a model is not easily reused in new model developments –SD model constructors are very flexible, but they are at a very low abstraction level

3 Proposal  Models are getting more complex and larger –We need simpler, easy to understand, models –We also need models that capture the particularities of the problem being analyzed  Our proposal aims to raise model abstraction level –Instead of working directly with SD constructors, model builders would work with high-level constructors –These high-level constructors represent concepts close to real-world elements –High-level constructors are described in a metamodel, using SD constructors

4 Metamodels and Models SD Metamodel HL Constructors (Classes) HL Constructors (Classes) SD Models Specific Elements (Objects) Specific Elements (Objects) Attends to Contains

5 Metamodeling  A metamodel is composed by: –Classes –Relationships  A class describes a category of elements –Classes have properties and behavior –Properties are values that can parameterize behavior –Behavior is described through basic SD constructors  Relationships –A relationship is an association between two classes –They allow manipulation of other classes behavior –They can be single or multiple

6 Simplified Metamodel - Software MODEL ProjectModel { CLASS Developer {... }; CLASS Artifact {... }; CLASS Activity {... }; MULTIRELATION Team Activity, Developer; MULTIRELATION Income Activity, Artifact; RELATION Outcome Activity, Artifact; }; Activity Developer Artifact Works On UsesProduces

7 Class Behavior  Described by extended SD constructors –The DOT operator allows a class to access the behavior of other classes through a relationship –The GROUPSUM function sums a selected behavior for every element in a relationship –The COUNT operator calculates the number of elements within a relationship –Multirates allows one RATE equation to affect several stocks in associated elements

8 Class Behavior - Examples PROC ScaledSize Outcome.Size / Factor; PROC ExpLevel GROUPSUM (Team, ExperienceLevel); PROC NDevelopers COUNT (Team); RATE (Income.Errors) NewErrors -ErrorsPerDay * Work / ExpLevel; Must be a single relationship Parameters: relationship and behavior Parameter: relationship A relationship identifies a multirate. Errors must be a stock in the elements associated through Income.

9 Models  A model is associated to a metamodel  A model is composed by several elements –An element pertains to a metamodel class –Each element provides values for its class properties –Each element inherits class behavior  Model relationships –Each element indicates other elements which fulfill their classes relationships

10 Model Example - Software DEFINE MyProject ProjectModel { Jimmy = NEW Developer SET Experience = 0.8; DesignModel = NEW Artifact SET latent_errors = 10; CodingModel = NEW Artifact SET latent_errors = 0; Coding = NEW Activity SET duration = 5; LINK Team Jimmy; LINK Income DesignModel; LINK Outcome SourceCode; }; Coding

11 Simulation  Models are translated to system dynamics –Metamodel behavior, inherited by model elements, can be translated to traditional SD constructors –Simulation analysis proceeds upon the translated version, using known mechanisms  Tool support –Model development environment –Metamodel development environment –Model and metamodel compiler to system dynamics –Simulation environment

12 Results  What is achieved ? –Separation of concerns: each high-level constructor contains the equations that describe its behavior –Reusable domain knowledge: once a metamodel is developed for a given modeling domain, several models can be build upon it –Element properties: high-level constructors define properties for their counterparts real-world elements. Different elements are described by distinct property values

13 Conclusions  First analysis shows promising results: –The metamodel / model compiler was developed –A simulation environment was built –Some models were developed  Future work –We want people to use the modeling approach for: Observing them using it Improving it by analyzing feedback reports Providing automated support to build models


Download ppt "From Metamodels to Models: Organizing and Reusing Domain Knowledge in System Dynamics Model Development Márcio de Oliveira Barros Cláudia Maria Lima Werner."

Similar presentations


Ads by Google