SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Università degli Studi dell’Aquila




Weaving Models
                                     Ivano Malavolta
        DISIM Department, University of L’Aquila
              ivano.malavolta@univaq.it
The material in these slides may be freely reproduced
and distributed, partially or totally, as far as an explicit
reference or acknowledge to the material author is
preserved.



                           Ivano Malavolta
MDE Primer
Model Weaving
     Why Linking Models together?
     Model Weaving & Weaving Models
     The AMW Project
             The AMW User Interface
             The AMW Core Metamodel
             Extending AMW
     Examples
GOALS
        to abstract upon selected aspects of the system
        to assess specific properties of the system early in the
        life cycle




   http://mdse-book.com
http://mdse-book.com
http://mdse-book.com
the metamodels for metamodels


defines the first-class entities, relationships and
constraints of a modeling language

a reduced representation of the system
models should have a focus in order to be useful


the “real thing”
                                          ...example
The means to specify the way to produce target models from a
number of source models




              Can be either horizontal or vertical
Why Linking Models together?
Model Weaving & Weaving Models
The AMW Project
     The AMW User Interface
     The AMW Core Metamodel
     Extending AMW
Examples
A system can be represented by “n” models
Each model focusses on a specific aspect
It is often necessary to establish links between elements of
different models


Tool interoperability
Transformation specification
Linking entities across models
Traceability
Model merging
Model annotation
Model weaving is a generic operation that establishes fine-
   grained correspondences between model elements*


   Each correspondence defines associations between elements
   from different models



   According to the everything-is-a-model principle in MDE:
          models = models, metamodels, transformations,
                   weaving models, etc.


* FABRO, M. D. D., BZIVIN, J., JOUAULT, F., AND VALDURIEZ, P. Applying generic
model management to data mapping. In Proceedings of the Journes Bases de Donnes
Avances (BDA05) (2005).
Weaving models are special kinds of models that link together
other models
In general a weaving model contains a set of links between elements
of a model and elements of another model




Linked models are called woven models
Weaving models conform to a weaving metamodel
A weaving metamodel specifies the types of links that can be
established between woven models
The operation of automatically creating a weaving model


If we consider two woven models, the matching operation can
be seen as a function
                          match : mm1 X mm2  WMM


Examples of matching policies:
• name similarity (eg. via edit distance)
• structural similarity
AMW, the Atlas Model Weaver*, is a platform that manages
   weaving models


   AMW is part of the AMMA** platform, and it is being developed
   by the ATLAS group, INRIA


   It provides:
   • an EMF-based implementation of weaving model
   • an extensible GUI to create & manage weaving models
   • a core weaving metamodel
* DIDONET DEL FABRO M., B´E ZIVIN J., JOUAULT F. AND BRETON E. AND
GUELTAS G. AMW: a generic model weaver. In Proc. of 1re Journe sur l’Ingnierie
Dirige par les Modles, Paris, France. pp 105-114 (2005).

** http://wiki.eclipse.org/index.php/AMMA
Weaving Tools


           Woven                        Woven
           model                        model
Projects                Weaving
                         Model


                                    Weaving
                                   properties
The core weaving metamodel enables to create links between
model elements


It can be extended to add other mapping semantics
 there is the possibility of creating variable mapping languages
dedicated to specific application requirements
Every element in a WM
                                          has a name & description

   The root
   element
                                                     Weaving Links
   of a WM
                                                    (can be nested)




 Identify the
woven models
                                                The type of elements
                                                   that are linked
                Contain the identifiers
                of the woven elements
Weaving metamodel extensions must either:
• extend the core WMM
• extend other weaving extensions
WMM extensions can be arranged hierarchically


The following classes of the core metamodel can be extended:
Wmodel
WModelRef
WElementRef
Wlink
WLinkEnd
WElementRef
http://www.eclipse.org/gmt/amw/usecases/
Demo

Weitere ähnliche Inhalte

Ähnlich wie Weaving models

5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Eclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEric Dillon
 
Towards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web ApplicationsTowards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web Applicationselliando dias
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE Jean-Sebastien Sottet
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Amanuel Alemayehu
 
07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptxAsalReview
 
Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++ Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++ Shivang Bajaniya
 
Advantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdfAdvantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdfakshay1213
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of livingijseajournal
 
Andy Bulka Pattern Automation
Andy Bulka Pattern AutomationAndy Bulka Pattern Automation
Andy Bulka Pattern Automationtcab22
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network CommunicationVrushali Lanjewar
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDALai Ha
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)Jordi Cabot
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...Amanuel Alemayehu
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...Jordi Cabot
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 

Ähnlich wie Weaving models (20)

5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Eclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEclipse Summit Nov08 Final
Eclipse Summit Nov08 Final
 
Towards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web ApplicationsTowards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web Applications
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE
 
Lecture11
Lecture11Lecture11
Lecture11
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...
 
07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx
 
Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++ Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Advantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdfAdvantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdf
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of living
 
Andy Bulka Pattern Automation
Andy Bulka Pattern AutomationAndy Bulka Pattern Automation
Andy Bulka Pattern Automation
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network Communication
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDA
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
 
ALT
ALTALT
ALT
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 

Mehr von Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 

Mehr von Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Weaving models

  • 1. Università degli Studi dell’Aquila Weaving Models Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Ivano Malavolta
  • 3. MDE Primer Model Weaving Why Linking Models together? Model Weaving & Weaving Models The AMW Project The AMW User Interface The AMW Core Metamodel Extending AMW Examples
  • 4. GOALS to abstract upon selected aspects of the system to assess specific properties of the system early in the life cycle http://mdse-book.com
  • 7. the metamodels for metamodels defines the first-class entities, relationships and constraints of a modeling language a reduced representation of the system models should have a focus in order to be useful the “real thing” ...example
  • 8. The means to specify the way to produce target models from a number of source models Can be either horizontal or vertical
  • 9. Why Linking Models together? Model Weaving & Weaving Models The AMW Project The AMW User Interface The AMW Core Metamodel Extending AMW Examples
  • 10. A system can be represented by “n” models Each model focusses on a specific aspect
  • 11. It is often necessary to establish links between elements of different models Tool interoperability Transformation specification Linking entities across models Traceability Model merging Model annotation
  • 12. Model weaving is a generic operation that establishes fine- grained correspondences between model elements* Each correspondence defines associations between elements from different models According to the everything-is-a-model principle in MDE: models = models, metamodels, transformations, weaving models, etc. * FABRO, M. D. D., BZIVIN, J., JOUAULT, F., AND VALDURIEZ, P. Applying generic model management to data mapping. In Proceedings of the Journes Bases de Donnes Avances (BDA05) (2005).
  • 13. Weaving models are special kinds of models that link together other models In general a weaving model contains a set of links between elements of a model and elements of another model Linked models are called woven models
  • 14. Weaving models conform to a weaving metamodel A weaving metamodel specifies the types of links that can be established between woven models
  • 15. The operation of automatically creating a weaving model If we consider two woven models, the matching operation can be seen as a function match : mm1 X mm2  WMM Examples of matching policies: • name similarity (eg. via edit distance) • structural similarity
  • 16. AMW, the Atlas Model Weaver*, is a platform that manages weaving models AMW is part of the AMMA** platform, and it is being developed by the ATLAS group, INRIA It provides: • an EMF-based implementation of weaving model • an extensible GUI to create & manage weaving models • a core weaving metamodel * DIDONET DEL FABRO M., B´E ZIVIN J., JOUAULT F. AND BRETON E. AND GUELTAS G. AMW: a generic model weaver. In Proc. of 1re Journe sur l’Ingnierie Dirige par les Modles, Paris, France. pp 105-114 (2005). ** http://wiki.eclipse.org/index.php/AMMA
  • 17. Weaving Tools Woven Woven model model Projects Weaving Model Weaving properties
  • 18. The core weaving metamodel enables to create links between model elements It can be extended to add other mapping semantics  there is the possibility of creating variable mapping languages dedicated to specific application requirements
  • 19. Every element in a WM has a name & description The root element Weaving Links of a WM (can be nested) Identify the woven models The type of elements that are linked Contain the identifiers of the woven elements
  • 20. Weaving metamodel extensions must either: • extend the core WMM • extend other weaving extensions WMM extensions can be arranged hierarchically The following classes of the core metamodel can be extended: Wmodel WModelRef WElementRef Wlink WLinkEnd WElementRef
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Demo