Download presentation
Presentation is loading. Please wait.
Published bySamantha Merritt Modified over 8 years ago
1
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented in meta-models for model driven development depend on model semantics? Peter Krall 7th Workskop on Domain Specific Modeling OOPSLA 2007
2
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 2Ver.: 1.0 Two kinds of model semantics Thesis: Domain-specific model driven development may be based on two kinds of semantics for model elements with considerably different implications: Computational system oriented semantics: –Model elements describe instructions for an (abstract) machine or specific aspects of such instructions, complementary to the description of other aspects outside the model. Analytic semantics. –Model elements represent (collections of) propositions, not in instructions for a machine. They describe aspects of the environment where an information processing system generated from the model is to be used.
3
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 3Ver.: 1.0 Two observation motivating different approaches to DSM The two aspects of model semantics discussed correspond to two different observations that may motivate domain specific modeling: Observation a: There are families of software products that may be described as variations of a pattern. Observation b: There are families of environments where software may be used that may be described as variations of a pattern. The familiy of environments as such exists independently from any kind of software. However, there are comparable tasks for information processing systems in these environments. The variation in the environments is reflected by variation in required functionality.
4
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 4Ver.: 1.0 Development driven by models with computational semantics The functionality implemented in the meta-model assists the work of software engineers: An application template, or family of templates, captures invariant aspects of the software product family. Models represent fragments of the computational system that vary within the family of software products. Thereby they act as parameters for the template(s) used. Intelligent functionality implemented in the meta-model focusses on weaving in template parameters into the application. Modeling is programming on a higher level of abstraction. Integration of analyzes, design and programming is seamless. ≈ Software factories
5
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 5Ver.: 1.0 Development driven by computational system semantics target environment ≈ facts+requirement target environment class ≈ class of facts+requirement ≈ specifics process Application > Application-template<> > DSM Template- parameter > DSL Mdd-functionality External world modeller Meta-modeller Specifics of scenarios context
6
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 6Ver.: 1.0 Development driven by models with analytic semantics The meta-model is based on procedural interpretation of logic. Information processing corresponds to logical inference. The application template is a logical inference machine. Parameters for the computational process are propositions that are used by this machine. Models represent specific aspects of the scenarios where the system is to be used. The modeling language represents propositions about the environment where the model is to be used. Model elements are representations of propositions, possibly using a dsl. e.g.: a list of objects of class PieceType containing instances ‚Rook‘, ‚Pawn‘ etc. may be read as: (Rook(x)=>Piece(x))&((Pawn(x)=>(Piece(x))…. Modeling is not programming at all. Analyzes is separated from design and implementation. ≈ Logic programming
7
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 7Ver.: 1.0 Development driven by analytic models – universal approach target environment ≈ facts+requirement target environment class ≈ class of facts+requirement ≈ specifics process Application > fragmentary analytic model > Inference machine template for a computational process > Representation of facts Template- Parameter > knowledge base > = + comprehensive analytic model logician blind meta-modeller domain expert
8
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 8Ver.: 1.0 Solution of a task by a logical inference machine Knowledge base e.g.: formal description of insurance business Fragmentary analytic model e.g.: formal description of specific business rules Data e.g.: Frank’s contract Inference machine «uses» Input ~ e.g. question: ‘is the damage covered?‘ Output ~ e.g.: answer ‘yes’ Sufficient information to allow answering the question by pure logical inference
9
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 9Ver.: 1.0 Comprehensive analytic models - challenges Usability of established analytic concepts often depends on embedding in human practice. Explicit representation of required presuppositions in knowledge bases is often practically impossible. Building comprehensive analytic models by adding specific information to knowledge bases representing domain-wide valid information is often not feasible in practice. Most information processing systems are still built by programming programmable machines. PROLOG did not replace OOP. Illustration: a formal theory of insurance contracts first of all would need a formal characterization of things that exist in 2-dimensional time, e.g. as functions from continuous manifolds into (state-)vector spaces. Then it could proceed to definition of merge and split of entities in real world or in the system, etc. => This is not simple
10
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 10Ver.: 1.0 Domain-specific analytic modeling Domain-specific meta-models provide a possibility to generate information processing systems from fragmentary analytic models without requiring explicit representation of all relevant information.
11
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 11Ver.: 1.0 Development driven by fragmentary analytic models The concept combines ideas from logic programming and domain specific meta-modeling: Models are propositional representations of specific facts that vary within a domain. They are thus fragments of comprehensive descriptions of the scenario where the solution shall work. The domain-specific meta-model defines a programmatic solution for evaluation of fragmentary analytic information as template parameter for a domain specific application template yielding an instantiation that is adapted to the respective specific scenario. From a logical point of view generated applications correspond to scenario-specific calculi. The meta-model implements a mapping from a space of sets of propositions into the space of calculi operating on the model language. ≈ Domain-specific analytic modeling
12
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 12Ver.: 1.0 Development driven by fragmentary analytic models target environment ≈ facts+requirement target environment class ≈ class of facts+requirement ≈ specifics process Application > fragmentary analytic model > Application-template<> > Template- parameter External world (context) domain expert meta-modeler
13
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 13Ver.: 1.0 Solution of a task by a system generated from an analytic model NO Knowledge baseFragmentary analytic model e.g.: formal description of specific business rules Model-based generator Data ~ e.g.: Frank’s contract «uses» Input ~ e.g. question: ‘is the damage covered?‘ Output ~ e.g.: answer ‘yes’ Computational system ~ machine executing generated software Application template ~ e.g.: template for insurance application «generates» Domain-specific interpretation of fragmentary analytic information as input for a software generator
14
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 14Ver.: 1.0 Resume Model driven development may be driven by models with computational or analytic semantics. The first approach requires implementation of intelligent functionality for weaving in information about specific properties of a computational system into an application template. The second approach requires definition of a projection from a space of predicates for the external world into a space of computer software solutions that work as information processing systems in the environments described by the analytic models.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.