DSPy a system for AI to Write Prompts and Do Fine Tuning
VADER 2011 (Moreno-Rivera)
1. Evolving KobrA to support SPL for
WebGIS development
Juan Manuel Moreno Rivera Elena Navarro Carlos E. Cuesta
JuanManuel.Moreno@uclm.es Elena.Navarro@uclm.es carlos.cuesta@urjc.es
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
VADER 2011, Hersonissos, Crete, Greece – 17-
21 October
2. Overview
Introduction
WebGIS Domain
Related Work
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Work
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
3. Introduction
WebGIS development is more complex everyday
Component-based development
New emerging technologies: grid, cloud, smart phones,
participatory web …
New users require new and more complex functionality
Open GIS community: the supply chain
Development and maintenance of own developed
components
Adoption and maintenance of third party components
Common architecture along all portfolio products
There is an exhausting situation for SME
Reuse is critical: SPL approaches (KobrA)
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
4. Overview
Introduction
WebGIS Domain
Related Work
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Work
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
5. The WebGIS Domain (I)
WebGIS widely used by internet users
Core elements in WebGIS:
Spatial Data Base
Map server
Map viewer
Extra components in WebGIS
Edition tools
Reports and analyzing tools
GeoProcessing features
Mobile Devices support
…
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
6. The WebGIS Domain (II)
Integration of own and third party components
Open GIS community alive and growing
More components to be considered
Wide variety of development approaches and
documentation
Open standards for data communication
Cloning emerges
Non efficient management of the common architecture
Difficult to track, maintain and update deployed systems
Hard to develop test benchmarks for final systems
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
7. Overview
Introduction
WebGIS Domain
Related Work
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Work
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
8. Related Work: GeoStack
Development based on a common framework or the
combination of a group of core components
Family of products based on a common architecture
with limited differences between their functionalities
Problems:
(i) Strongly linked to the technology their components
have been developed for
(II) Variability constrained to a reduced group of final
features already considered by core components
(III) The cloning phenomenon arises due to the lack of
traceability
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
9. Related Work:
Software Product Lines (SPL)
Two main branches of SPL approaches
Feature-based
More mature
FODA settled down the bases in the 90’s
Component-based
Components are the basic unit as in WebGIS
KobrA and CoPaM
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
10. Related Work:
Variability Notations
SPL approaches provide notation for variability
management
There are also specific notations to improve them:
Common Variability Language (CVL)
Eclipse CVL plug-in
Focused on feature diagrams
Orthogonal Variation Model (OVM)
VarMod Editor
Focused on improving the testing and formal
validations of models
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
11. Overview
Introduction
WebGIS Domain
Related Work
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Work
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
12. KobrA in a Nutshell (I)
Model-driven and Component-based approach for SPL
Any element of the system can be modelled as a component
UML: modelling language
KobrA Models systems hierarchy based on tree structures
Containment tree: relations between components at development time
Composition tree: runtime instance of the system
Based on two main processes:
Specification: how a component interacts with the external world
(External API)
Realization: how a component performs its specification
WebGIS development is based on these two main concepts
Each Open GIS component offers an external API to be connected with
other components / systems
Then, each component implements the functionality according to its API
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
13. KobrA in a nutshell:
Domain Engineering
Containment Tree
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
14. KobrA in a nutshell:
Application Engineering
Solving variability in each
node of the containment tree
Flattening process: logical
components from containment
tree are mapped into physical
ones
Translation process: transform
physical components into
source code
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
15. KobrA in a nutshell:
Pros and Cons from [12]
KobrA Cons:
There is no supporting tool to KobrA
Strong focus on design for reuse
Lack of model transformation facilities
KobrA Pros:
Components are the basic unit for development
Internal configuration + external API
Compliant with WebGIS component-based development
Based on an adaptation of UML
Updated to UML 2.0
Many available UML tools
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
16. Overview
Introduction
WebGIS Domain
Related Work
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Works
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
17. Evolved KobrA
Containment Tree (I)
KobrA is a general purpose approach
It needs to be customized to WebGIS domain
Variability is modelled locally in each node of the system
Application Engineers need to go along the containment tree, node by
node, to resolve variability
The global view of the system is lost while deciding what functionalities
are necessary
The global interaction and dependencies of components are only
modelled in the containment tree
Decision models are text-based models
They are a list of questions about variability and indications of what to
make on the model to resolve variability
Decisions are not taken based on visual models but text models, which is
not very helpful during application engineering
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
18. Evolved KobrA
Containment Tree (II)
In WebGIS variability emerges at components interaction level
Which functionality needs to be included is strongly linked to
which component is chosen to implement it
When working with third party components getting into the
node of this component in the containment tree is not
necessary
For application engineers it should be a black box with its interface
Just in some cases it is necessary to get into the black box to customize
its implementation. Most of the times it is plugged-in as it is.
Commonly, the first step when implementing a new system is
choosing which components are going to be included based
on user requirements
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
19. Evolved KobrA
Containment Tree (III)
Where do we want to improve KobrA SPL framework?
1) Work to be done during creation, maintenance and update of SPL
framework can be reduced
2) It is necessary to manage not only which features should be included
or not, but also which specific component should be used for
implementation
3) To facilitate application engineering tasks by making more agile the
flatting and translation process of KobrA
Adding OVM notation into containment tree
It makes profit of the global overview
Excludes relation is added (not considered in KobrA)
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
20. Overview
Introduction
WebGIS Domain
Related Work
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Work
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
21. Case Study: SIGTel
SIGTel is a SME with work experience on WebGIS development
Family of products:
Tools for inventories of trees, lights or management tasks of cities
Monitoring land use, forest and urban regions
Exploitation of Water balance and water flow models
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
22. Case Study: SIGTel
SIGTel is a SME with work experience on WebGIS development
Family of products:
Tools for inventories of trees, lights or maintenance tasks in cities
Monitoring land use, forest and urban regions
Exploitation of Water balance and water flow models
A common architecture for all of them
Nowadays SIGTel development is based on GeoStack (OpenLayers,
Mapserver and PostGIS)
Open source GIS community plays the role of supply chain
Open GIS components are assembled together with own components
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
23. Case Study
SIGTEL SPL according to KobrA
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
24. Case Study
SIGTEL SPL according to our proposal
Variability management included in the
containment tree
Global overview of the system is not lost when
solving variability
Components election is included at this stage
linked with user requirements that guide
variability solving
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
25. Case Study
SIGTEL SPL according to our proposal
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
26. Case Study
SIGTEL SPL according to our proposal:
Variability management included in the containment tree
Global overview of the system is not lost while resolving
variability at components level
Components selection:
Included at this stage
Linked to user requirements that guide the variability
resolution
A reduced containment tree is used to apply KobrA
Reducing time needed for resolving variability at the
feature level
The selection of available features is constrained by the
components selection performed in a previous step
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
27. Case Study
SIGTEL SPL: Resolution of variability according to
KobrA
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
28. Overview
Introduction
WebGIS Domain
Related Works
KobrA in a nutshell
Evolved KobrA containment tree
Case Study
Conclusions and Future Work
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
29. Conclusions
OVM can help to improve variability in SIGTel SPL
Containment tree: a more usable tool for application
engineers
The number of models is reduced along the process
Text-based decision models are partially replace by
graphical elements
Flattening process is resolved at the same time that
variability
Maintenance and update of variability is simplified
KobrA variability management has been customized
to WebGIS development
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
30. Future Work
Present: Improving Tool support
Next step: Model-to-text transformation
M2T from Eclipse is the project to follow
Future Challenge: Improve the interaction with
Open GIS components
How can we incorporate new functionality into our SPL
component adaptation?
How can we give feedback to community and publish our
improvements / modifications on these kind of
components?
These two tasks are very time consuming for our SPL
maintenance
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
31. Evolving KobrA to support SPL for
WebGIS development
Juan Manuel Moreno Rivera Elena Navarro Carlos E. Cuesta
JuanManuel.Moreno@uclm.es Elena.Navarro@uclm.es carlos.cuesta@urjc.es
VADER 2011, Hersonissos, Crete, Greece – 17-21 October
VADER 2011, Hersonissos, Crete, Greece – 17-
21 October