370 likes | 473 Views
Acknowledgements. At NAGAnne Trefethen Geoff MorganPatrick CraigSarah Turner. Zohair MaanyAntoine Le Hyaric Gareth Shaw European partners. Consider first the BIG picture?... Developing Applications. . . . . . Mathematical Model. approximation/discretisation/numerics. algorithms. syst
E N D
1. Software Frameworks in a Multilingual World Arnaud Desitter
NAG Ltd.
http://www.nag.co.uk
2. Acknowledgements At NAG
Anne Trefethen
Geoff Morgan
Patrick Craig
Sarah Turner
3. Consider first the BIG picture
..
4. Developing Applications
5. Software
6. Languages? Discipline - biology, automotive, aerospace, agriculture, mathematics
Spoken - English, French, German, Spanish, ...
Program - F77, C++, Java, F90, C
7. European Projects Stable - statistical application environment.
Decision - optimisation systems control.
Julius - engineering simulation in multiple disciplines.
Decision, STABLE and Julius all based on use of IRIS Explorer as a framework.
13. IRIS Explorer as an infrastructure It offers:
interactivity
visualisation
heterogeneous, distributed environment
collaborative environment
open environment
14. Built-in types
Parameter (single-valued double, long or string)
Lattice (generalised array)
Pyramid (unstructured grid with connectivity and data)
Geometry (container type for Open Inventor scene graphs)
User defined types
For specialist applications
May have any structure
Constructed using ETL, a C-like data typing language
15. STatistical Application BuiLding Environment
http://www.nag.co.uk/projects/STABLE.html
Project EU 22832
17. Project Overview Stable
=
IRIS Explorer Visual Programming environment
+
Genstat Statistical Algorithms
Demonstrator Applications provide design base and testing environment
18. Genstat ... is a general-purpose statistics package developed at Rothamsted since 1968
contains a wide range of statistical algorithms
has a Windows interface making these facilities easily accessible
also provides powerful and flexible command-based programming facilities
has been re-engineered to provide statistical algorithms for STABLE ...
19. Genstat re-engineering ... redesign of workspace and communication
separation of interpreters / algorithms / printing / saving
utility programs written for generating interface binders
production of statistical Dynamic Link Libraries
20. Time Series Map
21. Boxplot map
22. DECISION HPCN-Integrated Optimization Strategies for Increased Engineering Design Complexity (Esprit 25058)
Develop optimization environment based on IRIS Explorer
www.nag.co.uk/projects/DECISION.html
23. THE DECISION CONSORTIUM
24. Optimization Platform IRIS Explorer visual programming environment
Framework to link optimizers with solvers e.g. CFD
Optimization modules easily substituted or linked together in IRIS Explorer map
Planned modules include:
SQP (dense & sparse)
Genetic Algorithms
Simulated Annealing
Pareto (multi-criteria)
25. Integrating with Iris Explorer The only data structure required is the Lattice
System architecture requires reverse communication algorithms.
28. JULIUS - Aim of project
29. JULIUS - Partners
30. JULIUS - Project details
31. JULIUS - Project details Evolution of PSUE within JULIUS:
modularization of PSUE tools
integration of tools within an open architecture based on CORBA
addition of a presentation layer for visual programming
integration with a database
enhanced CAD, grid generation, visualization and parallel facilities
32. JULIUS - Architecture
33. JULIUS - Architecture Each JULIUS tool is wrapped as a CORBA object, allowing it to be invoked seamlessly over a network: CAD reader, Mesh generator, database etc
Each tool is also wrapped as an IRIS Explorer module, allowing it to be included in a visual programming user interface.
JULIUS data objects are wrapped as CORBA objects allowing them to be accessed easily by JULIUS tools.
35. JULIUS - Visual programming
37. Conclusion Importance of components
visualisation
numerical or symbolical computation
mesh generation
Glue technologies
distributed object technologies (CORBA, DCOM, ...)
scripting languages (Perl, Python,
)
frameworks such as Iris Explorer
Requirements
user friendliness
scalable technologies (towards large scale applications)
extensible (VPE)