IGCSE Geography - Fieldwork Data PresentationRichard Allaway
This document lists various types of diagrams and charts that can be used to present fieldwork data, including field sketches, annotated photographs, bar charts, histograms, wind rose diagrams, line graphs, flow diagrams, pictograms, pie charts, composite bar charts, divided bar charts, scattergraphs, dot graphs, choropleth maps, isolines, desire lines, and complex diagrams.
The document discusses various measurement tools used in statistical process control including check sheets, histograms, run charts, scatter diagrams, cause and effect diagrams, and Pareto charts. It provides details on how to create histograms, including collecting input data, defining the number of bins, calculating the bin range, and using data analysis tools. Additionally, it reviews the uses of check sheets, Pareto charts, and other basic tools and discusses following the MECE principle when analyzing data.
During the past decade, the size of 3D seismic data volumes and the number of seismic attributes have increased
to the extent that it is difficult, if not impossible, for interpreters to examine every seismic line and time
slice. To address this problem, several seismic facies classification algorithms including k-means, self-organizing
maps, generative topographic mapping, support vector machines, Gaussian mixture models, and artificial neural
networks have been successfully used to extract features of geologic interest from multiple volumes. Although
well documented in the literature, the terminology and complexity of these algorithms may bewilder the average
seismic interpreter, and few papers have applied these competing methods to the same data volume. We have
reviewed six commonly used algorithms and applied them to a single 3D seismic data volume acquired over the
Canterbury Basin, offshore New Zealand, where one of the main objectives was to differentiate the architectural
elements of a turbidite system. Not surprisingly, the most important parameter in this analysis was the choice of
the correct input attributes, which in turn depended on careful pattern recognition by the interpreter. We found
that supervised learning methods provided accurate estimates of the desired seismic facies, whereas unsupervised
learning methods also highlighted features that might otherwise be overlooked.
This document discusses spatial analysis and analysis tools. It begins by defining spatial analysis as techniques for analyzing spatial data where the results depend on object locations. It then describes 7 types of spatial analysis: spatial data analysis, spatial autocorrelation, spatial interpolation, spatial regression, spatial interaction, simulation and modelling, and multiple-point geostatistics. The document also discusses various analysis toolsets including map algebra, math tools, multi-variate tools, neighborhood tools, raster tools, reclassification tools, and solar radiation tools. It emphasizes that spatial analysis is useless without spatial infographics and visualization.
Geographic information system(GIS) and its applications in agricultureKiranmai nalla
This document presents a seminar on geographic information systems (GIS) given by Nalla Anthony Kiranmai. The seminar discusses the principles, components, functions, applications and advantages of GIS. It covers topics such as the linkage between remote sensing and GIS, vector vs raster data representation, spatial data analysis functions including overlays and buffers, and applications of GIS in fields like agriculture, land suitability analysis, and groundwater assessment. The seminar aims to provide an introduction to GIS concepts and demonstrate how GIS can be used as an integrated technology for spatial analysis and decision support.
Formations & Deformations of Social Network GraphsShalin Hai-Jew
Social network graphs are node-link (vertex-edge; entity-relationship) diagrams that show relationships between people and groups. Open-source tools like NodeXL Basic (available on Microsoft’s CodePlex) enable the capture of network data from select social media platforms through third-party add-ons and social media APIs. From social groups, relational clusters are extracted with clustering algorithms which identify intensities of connections. Visually, structural relational data is conveyed with layout algorithms in two-dimensional space. Using these various layout options and built-in visual design features, it is possible to aesthetically “deform” the network graph data for visual effects. This presentation introduces novel datasets and novel data visualizations.
Conceptual models of real world geographical phenomena (epm107_2007)esambale
Conceptual models of geographical phenomena abstract and simplify aspects of reality for representation in geographic information systems (GIS). Data can be represented as discrete entities with boundaries or precise attributes, or as continuous fields that vary smoothly over space. GIS uses both vector and raster data structures, with vectors best for objects and topology but rasters more suitable for analysis of continuous surface variables like elevation.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture methods like surveys and remote sensing. It explores analysis and visualization techniques, different GIS platforms, common spatial phenomena modeled in GIS, and modeling approaches. The document also covers GIS history, software, data types, attributes, overlay operations, coordinate reference systems, common file formats, data storage, open source GIS, web GIS, and potential future directions for GIS including location-based services and cloud computing.
IGCSE Geography - Fieldwork Data PresentationRichard Allaway
This document lists various types of diagrams and charts that can be used to present fieldwork data, including field sketches, annotated photographs, bar charts, histograms, wind rose diagrams, line graphs, flow diagrams, pictograms, pie charts, composite bar charts, divided bar charts, scattergraphs, dot graphs, choropleth maps, isolines, desire lines, and complex diagrams.
The document discusses various measurement tools used in statistical process control including check sheets, histograms, run charts, scatter diagrams, cause and effect diagrams, and Pareto charts. It provides details on how to create histograms, including collecting input data, defining the number of bins, calculating the bin range, and using data analysis tools. Additionally, it reviews the uses of check sheets, Pareto charts, and other basic tools and discusses following the MECE principle when analyzing data.
During the past decade, the size of 3D seismic data volumes and the number of seismic attributes have increased
to the extent that it is difficult, if not impossible, for interpreters to examine every seismic line and time
slice. To address this problem, several seismic facies classification algorithms including k-means, self-organizing
maps, generative topographic mapping, support vector machines, Gaussian mixture models, and artificial neural
networks have been successfully used to extract features of geologic interest from multiple volumes. Although
well documented in the literature, the terminology and complexity of these algorithms may bewilder the average
seismic interpreter, and few papers have applied these competing methods to the same data volume. We have
reviewed six commonly used algorithms and applied them to a single 3D seismic data volume acquired over the
Canterbury Basin, offshore New Zealand, where one of the main objectives was to differentiate the architectural
elements of a turbidite system. Not surprisingly, the most important parameter in this analysis was the choice of
the correct input attributes, which in turn depended on careful pattern recognition by the interpreter. We found
that supervised learning methods provided accurate estimates of the desired seismic facies, whereas unsupervised
learning methods also highlighted features that might otherwise be overlooked.
This document discusses spatial analysis and analysis tools. It begins by defining spatial analysis as techniques for analyzing spatial data where the results depend on object locations. It then describes 7 types of spatial analysis: spatial data analysis, spatial autocorrelation, spatial interpolation, spatial regression, spatial interaction, simulation and modelling, and multiple-point geostatistics. The document also discusses various analysis toolsets including map algebra, math tools, multi-variate tools, neighborhood tools, raster tools, reclassification tools, and solar radiation tools. It emphasizes that spatial analysis is useless without spatial infographics and visualization.
Geographic information system(GIS) and its applications in agricultureKiranmai nalla
This document presents a seminar on geographic information systems (GIS) given by Nalla Anthony Kiranmai. The seminar discusses the principles, components, functions, applications and advantages of GIS. It covers topics such as the linkage between remote sensing and GIS, vector vs raster data representation, spatial data analysis functions including overlays and buffers, and applications of GIS in fields like agriculture, land suitability analysis, and groundwater assessment. The seminar aims to provide an introduction to GIS concepts and demonstrate how GIS can be used as an integrated technology for spatial analysis and decision support.
Formations & Deformations of Social Network GraphsShalin Hai-Jew
Social network graphs are node-link (vertex-edge; entity-relationship) diagrams that show relationships between people and groups. Open-source tools like NodeXL Basic (available on Microsoft’s CodePlex) enable the capture of network data from select social media platforms through third-party add-ons and social media APIs. From social groups, relational clusters are extracted with clustering algorithms which identify intensities of connections. Visually, structural relational data is conveyed with layout algorithms in two-dimensional space. Using these various layout options and built-in visual design features, it is possible to aesthetically “deform” the network graph data for visual effects. This presentation introduces novel datasets and novel data visualizations.
Conceptual models of real world geographical phenomena (epm107_2007)esambale
Conceptual models of geographical phenomena abstract and simplify aspects of reality for representation in geographic information systems (GIS). Data can be represented as discrete entities with boundaries or precise attributes, or as continuous fields that vary smoothly over space. GIS uses both vector and raster data structures, with vectors best for objects and topology but rasters more suitable for analysis of continuous surface variables like elevation.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture methods like surveys and remote sensing. It explores analysis and visualization techniques, different GIS platforms, common spatial phenomena modeled in GIS, and modeling approaches. The document also covers GIS history, software, data types, attributes, overlay operations, coordinate reference systems, common file formats, data storage, open source GIS, web GIS, and potential future directions for GIS including location-based services and cloud computing.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture techniques including remote sensing and sensor networks. It explores analysis and visualization of spatial data in 2D and 3D maps and how visualization can enable further analysis. The document also briefly outlines the history of GIS software and formats, as well as concepts like spatial data types, attributes, modeling frameworks, coordinate reference systems, and industry standard and open source GIS tools. It concludes with discussions of future directions for GIS including location-based services, sensors, cloud computing, and social implications.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture methods like surveys and remote sensing. It explains how GIS allows for analysis and visualization of spatial data in 2D and 3D maps. Key aspects of GIS covered include its history, common data types of vector and raster, attributes, modeling frameworks, data storage, open source options, and future directions such as location-based services and cloud computing. The document aims to quickly introduce fundamental GIS concepts.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture methods like remote sensing and GPS. It explains how spatial data can be analyzed and visualized in 2D and 3D maps. Common data types in GIS like vector and raster data are introduced along with concepts like attributes, overlay operations, and coordinate reference systems. Popular GIS software like ArcGIS and open source options are overviewed. The document concludes by discussing emerging areas in GIS like web mapping, mobile apps, sensor networks, and cloud computing.
This document discusses data structures for geographic and cartographic data. It notes that current data structures are characterized by: 1) being designed for input rather than use in programs, 2) storing different feature types in separate uncoordinated files, and 3) lacking information on neighboring entities. The concept of a "neighborhood function" is introduced to indicate an entity's relative location, which is important for analysis. Ongoing research includes the GEOGRAF and GDS systems, which involve manipulating data between input and use to address issues of flexibility, comparability, and topology.
An introduction to GIS Data Types. Strengths and weaknesses of raster and vector data are discussed. Also covered is the importance of topology. Concludes with a discussion of the vector-based format of OpenStreetMap data.
The document discusses the capabilities of ArcView's 3D Analyst extension. It can create and analyze 3D shapes, surfaces, and terrain data. Surface modeling in 3D Analyst uses either grids or triangulated irregular networks (TINs) to represent terrain. Grids partition space into cells storing numeric values, while TINs use triangles connecting points with x, y, z coordinates. 3D Analyst allows visualization and analysis of 3D data including contours, slopes, aspects, areas, volumes, and visibility.
This document discusses geospatial analytics and spatial capabilities on big data systems. It covers analyzing movement data through techniques like trajectory analysis and discretization. It discusses operational requirements for analyzing telematics data at large scales. It proposes using Apache Spark and geospatial libraries on Hadoop for distributed processing and storage. Key analytical challenges discussed include snap-to-road matching, trajectory clustering, and traffic event detection. Machine learning techniques like kernel methods and sequence analysis are proposed for solving these challenges.
R-tools to analyse bird data_Henk sierdsema_Bird numbers 2016Henk Sierdsema
This presentation shows how trends, distribution maps and trend maps can be made from monitoring data, atlas data and casual observations with R. The presentation shows examples for birds, but the techniques implemented in R-package TRIMmaps can also be used for other species groups.
Gis Geographical Information System FundamentalsUroosa Samman
Gis, Geographical Information System Fundamentals. This presentation includes a complete detail of GIS and GIS Softwares. It will help students of GIS and Environmental Science.
This document discusses how geographic features are represented in GIS data structures. Spatial data represents the location of features, while attribute data describes characteristics. Features can be represented using vector or raster data models. Vector models store location data as x,y coordinates and connect them to form lines and polygons. Raster models divide space into a grid of cells and store a single value for each cell. Relational databases are commonly used to organize spatial and attribute data for GIS analysis and mapping.
Coates p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...ArchiLab 7
This document describes research using Lindenmeyer systems and genetic programming to explore 3D design worlds. Lindenmeyer systems are string rewriting systems that can be used to recursively generate 3D objects. The researchers used an isospatial grid to represent 3D space and represent objects as spheres inserted into the grid points. Genetic programming operations like crossover and mutation were performed on the Lindenmeyer system production rules to evolve new designs. Initial experiments tested the crossover operation and explored evolving objects in simple virtual environments with objectives like avoiding or seeking certain conditions.
John McGaughey, CEO/President of Mira Geoscience offers his thoughts and the practices of integrated geophysical interpretation at the 3D Interest Group
The document discusses various mapping techniques and projects, including Ian McHarg's work on physiographic mapping and design with nature in the 1960s. It also references projects by Esther Polak that used personal GPS devices to map drifts and cognitive maps. Rem Koolhaas' 1982-1983 competition entry for Parc de la Villette is discussed in relation to using layering of independent programmatic, spatial, and infrastructure elements. The document provides guidance on mapping techniques such as identifying relationships, patterns, qualitative decisions, and maintaining a contextual mindset.
The document discusses various concepts related to remote sensing and geographic information systems (GIS). It defines key terms like digital and analog images, spatial and spectral resolution, data models, and data types used in GIS. It also describes common data formats, software, techniques for data input and management, and methods for spatial analysis and map making using GIS.
A spatial database, or geodatabase is a database that is optimized to store and query data
that represents objects defined in a geometric space. Most spatial databases allow representing simple geometric objects such as points, lines and polygons.
Standard A-A' topographic profiles are widely used in the geosciences to construct cross sections and investigate surficial processes. However, simple line profiles fail to capture the wider topographic regime. Here, I present a workflow to calculate a swath profile in GRASS GIS. The basic premise is, a swath profile "looks off to the side" along each step in a standard profile line, and calculates min/mean/max elevation, hence producing a statistically-relevant 2-d approximation of topography.
You can find more gis-based geomorphology workflows at my website: https://sites.google.com/site/sorsbysj/
- Skyler Sorsby
The document discusses mining data streams. It describes the characteristics of stream data and challenges of mining streams compared to static databases. Some key techniques discussed for mining streams include generating synopses of the data using random sampling, histograms, and sketches to enable approximate query answering with bounded memory. The document also discusses mining frequent patterns, classification, and clusters from data streams and proposes architectures for stream data cubes and querying continuous, ordered streaming data.
Creating and Analyzing Source Code Repository Models - A Model-based Approach...Markus Scheidgen
With mining software repositories (MSR), we analyze the rich data created during the whole evolution of one or more software projects. One major obstacle in MSR is the heterogeneity and complexity of source code as a data source. With model-based technology in general and reverse engineering in particular, we can use abstraction to overcome this obstacle. But, this raises a new question: can we apply existing reverse engineering frameworks that were designed to create models from a single revision of a software system to analyze all revisions of such a system at once? This paper presents a framework that uses a combination of EMF, the reverse engineering framework Modisco, a NoSQL-based model persistence framework, and OCL-like expressions to create and analyze fully resolved AST-level model representations of whole source code repositories. We evaluated the feasibility of this approach with a series of experiments on the Eclipse code-base.
The document discusses model comparison approaches for delta-compression. It describes comparing models at the element level by matching elements between models and identifying differences. It also discusses representation of differences for compression purposes and experiments comparing EMF Compare and EMF Compress on reverse engineered models from Git repositories.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture techniques including remote sensing and sensor networks. It explores analysis and visualization of spatial data in 2D and 3D maps and how visualization can enable further analysis. The document also briefly outlines the history of GIS software and formats, as well as concepts like spatial data types, attributes, modeling frameworks, coordinate reference systems, and industry standard and open source GIS tools. It concludes with discussions of future directions for GIS including location-based services, sensors, cloud computing, and social implications.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture methods like surveys and remote sensing. It explains how GIS allows for analysis and visualization of spatial data in 2D and 3D maps. Key aspects of GIS covered include its history, common data types of vector and raster, attributes, modeling frameworks, data storage, open source options, and future directions such as location-based services and cloud computing. The document aims to quickly introduce fundamental GIS concepts.
This document provides a whirlwind tour of GIS concepts in 25 slides. It defines GIS as geographical information science and discusses data capture methods like remote sensing and GPS. It explains how spatial data can be analyzed and visualized in 2D and 3D maps. Common data types in GIS like vector and raster data are introduced along with concepts like attributes, overlay operations, and coordinate reference systems. Popular GIS software like ArcGIS and open source options are overviewed. The document concludes by discussing emerging areas in GIS like web mapping, mobile apps, sensor networks, and cloud computing.
This document discusses data structures for geographic and cartographic data. It notes that current data structures are characterized by: 1) being designed for input rather than use in programs, 2) storing different feature types in separate uncoordinated files, and 3) lacking information on neighboring entities. The concept of a "neighborhood function" is introduced to indicate an entity's relative location, which is important for analysis. Ongoing research includes the GEOGRAF and GDS systems, which involve manipulating data between input and use to address issues of flexibility, comparability, and topology.
An introduction to GIS Data Types. Strengths and weaknesses of raster and vector data are discussed. Also covered is the importance of topology. Concludes with a discussion of the vector-based format of OpenStreetMap data.
The document discusses the capabilities of ArcView's 3D Analyst extension. It can create and analyze 3D shapes, surfaces, and terrain data. Surface modeling in 3D Analyst uses either grids or triangulated irregular networks (TINs) to represent terrain. Grids partition space into cells storing numeric values, while TINs use triangles connecting points with x, y, z coordinates. 3D Analyst allows visualization and analysis of 3D data including contours, slopes, aspects, areas, volumes, and visibility.
This document discusses geospatial analytics and spatial capabilities on big data systems. It covers analyzing movement data through techniques like trajectory analysis and discretization. It discusses operational requirements for analyzing telematics data at large scales. It proposes using Apache Spark and geospatial libraries on Hadoop for distributed processing and storage. Key analytical challenges discussed include snap-to-road matching, trajectory clustering, and traffic event detection. Machine learning techniques like kernel methods and sequence analysis are proposed for solving these challenges.
R-tools to analyse bird data_Henk sierdsema_Bird numbers 2016Henk Sierdsema
This presentation shows how trends, distribution maps and trend maps can be made from monitoring data, atlas data and casual observations with R. The presentation shows examples for birds, but the techniques implemented in R-package TRIMmaps can also be used for other species groups.
Gis Geographical Information System FundamentalsUroosa Samman
Gis, Geographical Information System Fundamentals. This presentation includes a complete detail of GIS and GIS Softwares. It will help students of GIS and Environmental Science.
This document discusses how geographic features are represented in GIS data structures. Spatial data represents the location of features, while attribute data describes characteristics. Features can be represented using vector or raster data models. Vector models store location data as x,y coordinates and connect them to form lines and polygons. Raster models divide space into a grid of cells and store a single value for each cell. Relational databases are commonly used to organize spatial and attribute data for GIS analysis and mapping.
Coates p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...ArchiLab 7
This document describes research using Lindenmeyer systems and genetic programming to explore 3D design worlds. Lindenmeyer systems are string rewriting systems that can be used to recursively generate 3D objects. The researchers used an isospatial grid to represent 3D space and represent objects as spheres inserted into the grid points. Genetic programming operations like crossover and mutation were performed on the Lindenmeyer system production rules to evolve new designs. Initial experiments tested the crossover operation and explored evolving objects in simple virtual environments with objectives like avoiding or seeking certain conditions.
John McGaughey, CEO/President of Mira Geoscience offers his thoughts and the practices of integrated geophysical interpretation at the 3D Interest Group
The document discusses various mapping techniques and projects, including Ian McHarg's work on physiographic mapping and design with nature in the 1960s. It also references projects by Esther Polak that used personal GPS devices to map drifts and cognitive maps. Rem Koolhaas' 1982-1983 competition entry for Parc de la Villette is discussed in relation to using layering of independent programmatic, spatial, and infrastructure elements. The document provides guidance on mapping techniques such as identifying relationships, patterns, qualitative decisions, and maintaining a contextual mindset.
The document discusses various concepts related to remote sensing and geographic information systems (GIS). It defines key terms like digital and analog images, spatial and spectral resolution, data models, and data types used in GIS. It also describes common data formats, software, techniques for data input and management, and methods for spatial analysis and map making using GIS.
A spatial database, or geodatabase is a database that is optimized to store and query data
that represents objects defined in a geometric space. Most spatial databases allow representing simple geometric objects such as points, lines and polygons.
Standard A-A' topographic profiles are widely used in the geosciences to construct cross sections and investigate surficial processes. However, simple line profiles fail to capture the wider topographic regime. Here, I present a workflow to calculate a swath profile in GRASS GIS. The basic premise is, a swath profile "looks off to the side" along each step in a standard profile line, and calculates min/mean/max elevation, hence producing a statistically-relevant 2-d approximation of topography.
You can find more gis-based geomorphology workflows at my website: https://sites.google.com/site/sorsbysj/
- Skyler Sorsby
The document discusses mining data streams. It describes the characteristics of stream data and challenges of mining streams compared to static databases. Some key techniques discussed for mining streams include generating synopses of the data using random sampling, histograms, and sketches to enable approximate query answering with bounded memory. The document also discusses mining frequent patterns, classification, and clusters from data streams and proposes architectures for stream data cubes and querying continuous, ordered streaming data.
Similar to Interactive Visualization of Software (20)
Creating and Analyzing Source Code Repository Models - A Model-based Approach...Markus Scheidgen
With mining software repositories (MSR), we analyze the rich data created during the whole evolution of one or more software projects. One major obstacle in MSR is the heterogeneity and complexity of source code as a data source. With model-based technology in general and reverse engineering in particular, we can use abstraction to overcome this obstacle. But, this raises a new question: can we apply existing reverse engineering frameworks that were designed to create models from a single revision of a software system to analyze all revisions of such a system at once? This paper presents a framework that uses a combination of EMF, the reverse engineering framework Modisco, a NoSQL-based model persistence framework, and OCL-like expressions to create and analyze fully resolved AST-level model representations of whole source code repositories. We evaluated the feasibility of this approach with a series of experiments on the Eclipse code-base.
The document discusses model comparison approaches for delta-compression. It describes comparing models at the element level by matching elements between models and identifying differences. It also discusses representation of differences for compression purposes and experiments comparing EMF Compare and EMF Compress on reverse engineered models from Git repositories.
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...Markus Scheidgen
This document discusses metamodeling and metaprogramming approaches for developing client libraries for REST APIs. It presents a metamodel for describing REST APIs and shows how annotations in the xTend language can be used as an alternative internal DSL (domain-specific language) to generate code for a REST client library from descriptions of API requests and resource types. Active annotations are processed by custom compilers and can generate platform-specific code while providing static type safety. Both metamodeling and metaprogramming through active annotations are presented as model-driven approaches for developing web applications and REST client code.
Presentation about an eclipse framework that allows to generate ecore model instances as input for tests and benchmarks. Held at the 3rd BigMDE workshop at STAF in L'Aquia, Italy in July 2015.
Model-based Analysis of Large Scale Software RepositoriesMarkus Scheidgen
1) The document discusses a model-based framework for analyzing large scale software repositories. It involves reverse engineering software from version control systems to create abstract syntax tree models, applying transformations and queries to derive metrics and insights, and using Scala for flexible queries and transformations.
2) Two example analyses are described: calculating design structure matrices and propagation costs, and detecting cross-cutting concerns by analyzing co-changed methods within commits.
3) The goal is to enable scalable, language-independent analysis of ultra-large repositories through model-based techniques instead of analyzing raw code directly. This allows abstracting different languages and repositories with common models and analyses.
Reference Representation in Large Metamodel-based DatasetsMarkus Scheidgen
This document discusses different model representations for large meta-model based datasets. It compares object-by-object representation to fragmentation strategies. Fragmentation breaks models into multiple fragments stored separately. The document evaluates different fragmentation strategies through theoretical analysis and implementation tests. It also compares part-of-source and relational representations and discusses applications of model fragmentation including software engineering and scientific data analysis.
The document summarizes a meeting of the Computer Science Research Training Group METRIK (GRK 1324) held on June 19, 2012. METRIK focuses on model-based development of technologies for self-organizing decentralized information systems in disaster management and smart cities. The group has been running research for six years, starting with disaster management and earthquake early warning, and now applying previous findings to smart cities topics. It involves 11 doctoral candidates and makes use of its Humboldt Wireless Lab testbed for wireless sensor network and wireless mesh network experiments.
HWL - A High Performance Wireless Sensor Research NetworkMarkus Scheidgen
The HWL wireless sensor research network is used to conduct research on topics like opportunistic routing, localization, and security using over 120 sensor nodes. The ClickWatch experimentation framework structures wireless sensor network experiment data to facilitate automated, reproducible analysis and improve usability of the HWL testbed. It represents data and metadata in a database to enable type-safe implementation of analysis and transformation of experimental results.
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"sameer shah
Embark on a captivating financial journey with 'Financial Odyssey,' our hackathon project. Delve deep into the past performance of two companies as we employ an array of financial statement analysis techniques. From ratio analysis to trend analysis, uncover insights crucial for informed decision-making in the dynamic world of finance."
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...sameer shah
"Join us for STATATHON, a dynamic 2-day event dedicated to exploring statistical knowledge and its real-world applications. From theory to practice, participants engage in intensive learning sessions, workshops, and challenges, fostering a deeper understanding of statistical methodologies and their significance in various fields."
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeWalaa Eldin Moustafa
Dynamic policy enforcement is becoming an increasingly important topic in today’s world where data privacy and compliance is a top priority for companies, individuals, and regulators alike. In these slides, we discuss how LinkedIn implements a powerful dynamic policy enforcement engine, called ViewShift, and integrates it within its data lake. We show the query engine architecture and how catalog implementations can automatically route table resolutions to compliance-enforcing SQL views. Such views have a set of very interesting properties: (1) They are auto-generated from declarative data annotations. (2) They respect user-level consent and preferences (3) They are context-aware, encoding a different set of transformations for different use cases (4) They are portable; while the SQL logic is only implemented in one SQL dialect, it is accessible in all engines.
#SQL #Views #Privacy #Compliance #DataLake
Open Source Contributions to Postgres: The Basics POSETTE 2024ElizabethGarrettChri
Postgres is the most advanced open-source database in the world and it's supported by a community, not a single company. So how does this work? How does code actually get into Postgres? I recently had a patch submitted and committed and I want to share what I learned in that process. I’ll give you an overview of Postgres versions and how the underlying project codebase functions. I’ll also show you the process for submitting a patch and getting that tested and committed.
11. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
12. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
complex/interactive
visualization
‣ multiple connected charts for
different properties
13. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
complex/interactive
visualization
‣ multiple connected charts for
different properties
14. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
‣ concrete measurements, projections, and combinations depend
on the use case
‣ description and realization of measurement classes/types are use
case dependent
‣ description language for projections and combinations based on
a common data meta-model and popular chart types are
independent from specific use cases
complex/interactive
visualization
‣ multiple connected charts for
different properties
15. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
‣ concrete measurements, projections, and combinations depend
on the use case
‣ description and realization of measurement classes/types are use
case dependent
‣ description language for projections and combinations based on
a common data meta-model and popular chart types are
independent from specific use cases
meta-model
complex/interactive
visualization
‣ multiple connected charts for
different properties
16. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
‣ concrete measurements, projections, and combinations depend
on the use case
‣ description and realization of measurement classes/types are use
case dependent
‣ description language for projections and combinations based on
a common data meta-model and popular chart types are
independent from specific use cases
meta-model
DSL
complex/interactive
visualization
‣ multiple connected charts for
different properties
17. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
‣ concrete measurements, projections, and combinations depend
on the use case
‣ description and realization of measurement classes/types are use
case dependent
‣ description language for projections and combinations based on
a common data meta-model and popular chart types are
independent from specific use cases
meta-model
DSL
DSL
complex/interactive
visualization
‣ multiple connected charts for
different properties
18. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
‣ concrete measurements, projections, and combinations depend
on the use case
‣ description and realization of measurement classes/types are use
case dependent
‣ description language for projections and combinations based on
a common data meta-model and popular chart types are
independent from specific use cases
meta-model
DSL
DSL
library
complex/interactive
visualization
‣ multiple connected charts for
different properties
19. Visual Analytics Framework
3
source
software, artifacts
‣ code,
‣ models,
‣ execution traces,
‣ snapshots, histories
metrics
dependencies
structure
histories of metrics
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common meta-model
‣ data-set, comprising
‣ data-points, comprising
‣ properties
common nomenclature
➜ visual analytics / explorative data analysis / multi-variant data analysis ➜
datameasurements visualizationprojection
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
combination
natural phenomena
‣ dust particles
‣ seismic activity
‣ traffic
‣ concrete measurements, projections, and combinations depend
on the use case
‣ description and realization of measurement classes/types are use
case dependent
‣ description language for projections and combinations based on
a common data meta-model and popular chart types are
independent from specific use cases
meta-model
DSL
DSL
library
framework
complex/interactive
visualization
‣ multiple connected charts for
different properties
20. Agenda
▶ Visual Analytics Framework
▶ Measuring Software
▶ Related Work
▶ Meta-Model
▶ Complex Interactive Visualization-Language
▶ Framework: Architecture and Realization
▶ Conclusions
4
21. Measuring Software
▶ Artifacts primarily include: models, source code (compilation units)
▶ Data as representation of abstractions within a piece of software
▶ Three kinds of abstractions
▶ structures => hierarchies, trees
▶ dependencies => graphs
▶ metrics => metric data
▶ Metrics
▶ defined by (mathematical) functions that assign numeric values (measures) to software
components to represent certain properties about set components
▶ metrics are abstractions derived from statics or even dynamics of software components
▶ for existing (e.g. classes, methods) and derived software components (e.g. dependencies)
▶ can be aggregated alongside other abstractions; e.g. package metrics based on class metrics
▶ Aggregations: abstractions that summaries other abstractions, usually in the form
mathematical (usually statistical) operations, e.g. sum, average, median, etc.
5
22. Measuring Software
▶ Eclipse Java Projects and MoDisco as a case study
▶ complex source artifact language
▶ complex meta-model (350+ classes)
▶ well understood abstractions
▶ containment hierarchies (package / class / method)
▶ inheritance hierarchies
▶ dependencies: call graphs, class and package dependencies
▶ metrics: CK-metrics, complexity metrics (Halstead, McCabe)
6
23. Related Work
7
source data visualization
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
complex/interactive
visualization
‣ multiple connected charts for
different properties
common meta-model
measurements projection
combination
lots of programming
Visual analytics as a conceptual
framework
1. Visual analysis and design: Tamara Munzner, 2014
lots of programming
lots of programming
24. Related Work
8
source data visualization
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
complex/interactive
visualization
‣ multiple connected charts for
different properties
common meta-model
measurements projection
combination
library
Caleydo – A visual analysis
framework
1. Alexander Lex, Marc Streit, Ernst Kruijff, Dieter Schmalstieg: Caleydo –
Design and Evaluation of a Visual Analysis Framework for Gene Expression
Data in its Biological Context, 2010
2. Samuel Gratzl et al.: Caleydo Web: An Integrated Visual Analysis Platform
for Biomedical Data, 2015
lots of programming
lots of programming
eclipse-based framework
25. Related Work
9
source data visualization
‣ tables
(nominal, ordinal, metric)
‣ relations
‣ hierarchies
‣ time series
‣ (geo-)spatial data
‣ ontologies
common charts
‣ histogram, parallel coordinates,
scatter, box&whiskers, spider
web, ...
‣ graphs, chords, edge, ...
‣ graphs, trees, tree map, sun
burst, ...
‣ line (time series), ...
‣ maps, ...
‣ graphs (taxonomy/ontology), ...
complex charts
‣ multiple properties of data points in
a single chart (polymetric views)
‣ one per data point, but multiple
dimensions on each symbol
complex/interactive
visualization
‣ multiple connected charts for
different properties
common meta-model
measurements projection
combination
Specific software visualization
solutions
26. 10
Related Work
Polymetric Views Software Maps
Lanza, M., & Ducasse, S. (2003). Polymetric views - A
lightweight visual approach to reverse engineering. IEEE
Transactions on Software Engineering, 29(9), 782–795.
Kuhn, A., Loretan, P., & Nierstrasz, O. (2008). Consistent
layout for thematic software maps. Proceedings - Working
Conference on Reverse Engineering, WCRE, 209–218.
27. 11
Related Work
Wettel, R. (2010). Software Systems as Cities. Università Della Svizzera Italiana. http://doi.org/
10.1145/1985793.1985868
30. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC RFC
A 1 2
B 1 1
C 2 1
program
31. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
WMC RFC
A 1 2
B 1 1
C 2 1
program
32. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
WMC RFC
A 1 2
B 1 1
C 2 1
program
33. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
WMC RFC
A 1 2
B 1 1
C 2 1
program
34. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC RFC
A 1 2
B 1 1
C 2 1
program
35. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC RFC
A 1 2
B 1 1
C 2 1
program
Same events and styles for all DOM elements!
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
36. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC RFC
A 1 2
B 1 1
C 2 1
program
Same events and styles for all DOM elements!
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
traces
37. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC
RFC
A
B C
browser
WMC RFC
A 1 2
B 1 1
C 2 1
program
Same events and styles for all DOM elements!
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
traces
38. scatter plot library
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
Programming Libraries for Visualizations
12
WMC
RFC
A
B C
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC
RFC
A
B C
browser
WMC RFC
A 1 2
B 1 1
C 2 1
program
Same events and styles for all DOM elements!
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
traces
39. DOM
Web Technologies: D3.js, DOM, Events, Styles
13
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC
RFC
A
B C
browser
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
Same events and styles for all DOM elements!
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
WMC
NOC
A
B
C
D3.js – a transformation
language for all kinds of
visualizations rather
than a library of some
specific visualizations.
40. General Data Model
▶ directed (non hyper) graphs
▶ nodes (or data points: a set of one or more
measurements on a single member of a population.)
■ type
■ key-value pairs (properties, measurements)
■ same keys for same type
▶ edges
■ key, source nodes of same type have edges for same keys
(property of the source type)
■ can be composite
■ key-value pairs (properties, measurements)
■ same keys for same edge key and source type
▶ (property)-values (measures) are either
■ nominal: unordered (finite=categorial) possible feature
values (e.g. sex, boolean values, colors)
■ ordinal: (finite) feature values with order (e.g. school
marks)
■ metric: infinite values with order and null value (a.k.a
numbers)
14
{ a: 32, b: “good” }
{ c: 1.2 }
41. General Data Model
▶ directed (non hyper) graphs
▶ nodes (or data points: a set of one or more
measurements on a single member of a population.)
■ type
■ key-value pairs (properties, measurements)
■ same keys for same type
▶ edges
■ key, source nodes of same type have edges for same keys
(property of the source type)
■ can be composite
■ key-value pairs (properties, measurements)
■ same keys for same edge key and source type
▶ (property)-values (measures) are either
■ nominal: unordered (finite=categorial) possible feature
values (e.g. sex, boolean values, colors)
■ ordinal: (finite) feature values with order (e.g. school
marks)
■ metric: infinite values with order and null value (a.k.a
numbers)
14
{ a: 32, b: “good” }
{ c: 1.2 }
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
42. General Data Model
▶ directed (non hyper) graphs
▶ nodes (or data points: a set of one or more
measurements on a single member of a population.)
■ type
■ key-value pairs (properties, measurements)
■ same keys for same type
▶ edges
■ key, source nodes of same type have edges for same keys
(property of the source type)
■ can be composite
■ key-value pairs (properties, measurements)
■ same keys for same edge key and source type
▶ (property)-values (measures) are either
■ nominal: unordered (finite=categorial) possible feature
values (e.g. sex, boolean values, colors)
■ ordinal: (finite) feature values with order (e.g. school
marks)
■ metric: infinite values with order and null value (a.k.a
numbers)
15
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
type:String
label:String
DataPoint
name:String
Property
isComposite:Boolean
Reference
value:any
Attribute
properties *
properties *
dataPoints *
<<DataType>>
any
<<Dat
Nu
<<DataType>>
Ordinal
<<DataType>>
Nominal
43. General Data Model
// DataPoints of same type have the same Properties
context DataPoint
inv: DataPoint::allInstances->select(type=self.type)->forAll(other|
other.properties->forAll(p1|self.properties->exist(p2|
p1.name = p2.name and
p1.typeOf = p2.typeOf and
p1.isComposite = p2.isComposite and
p1.value.typeOf() == p2.value.typeOf()))
// References from same type DataPoints and same name have
same properties
context DataPoint
inv: self.references->forAll(ref1|DataPoint::allInstances->select(dp|
dp.type = self.type)->forAll(dp|dp.refernces->forAll(ref2|
ref1.name = ref2.name implies ref1.properties->forAll(p1|
ref2.properties.exist(p2|
p1.name=p2.name and
p1.typeOf = p2.typeOf and
p1.value.typeOf() == p2.value.typeOf()))))
// References reference DataPoints with consistent type
context Reference:
inv: self.dataPoints.forAll(a,b|a.type = b.type)
// Composite References form circle free graphs
...
16
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
type:String
label:String
DataPoint
name:String
Property
isComposite:Boolean
Reference
value:any
Attribute
properties *
properties *
dataPoints *
<<DataType>>
any
<<Dat
Nu
<<DataType>>
Ordinal
<<DataType>>
Nominal
46. Complex Interactive Visualization-Language
19
D is a set of data-points
I ✓ D the set of input data-points
selC a selection function for each chart
IC
= selC(I) ✓ children?
(I)
iSC
r = {d 2 IC
|9d0
: d 2 parent?
(d0
_ d0
2 parent?
(d)}
dSC
r a user selection with dSC
r ✓ IC
✓ D
iSr =
[
C2charts(r)
dSC
r
D
I ✓ D
IA
IB
A
r
B
iSr
iSA
r
iSr
iSB
r
dSA
r dSB
r
iSr = dSA
r [ dSB
r
I I
IA
IB
47. Complex Interactive Visualization-Language
20
D is a set of data-points
I ✓ D the set of input data-points
selC a selection function for each chart
IC
= selC(I) ✓ children?
(I)
iSC
r = {d 2 IC
|9d0
: d 2 parent?
(d0
_ d0
2 parent?
(d)}
dSC
r a user selection with dSC
r ✓ IC
✓ D
iSr =
[
C2charts(r)
dSC
r
...
...
...
D
I ✓ D
IA
IB
A
r
B
iSr
iSA
r
iSr
iSB
r
dSA
r dSB
r
iSr = dSA
r [ dSB
r
I I
IA
IB
49. Complex Interactive Visualization-Language
22
r
A
B
r
A
B b
type
pattern
configuration
Chart
color
Group
Data
uri
Sourcegroups *
* charts
input
1
context Chart::allInputGroups
query: if (input.isInstanceOf(Group))
input.charts->collect(allInputGroups)->union({input})
else {}
// Charts cannot take input that is based on their own selection
context Chart
inv: not allInputGroups->collect(charts)->contains(self)
/allInputGroups*
50. Complex Interactive Visualization-Language
23
DOM
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
WMC
RFC
A
B C
browser
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
Same events and styles for all DOM elements!
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
WMC
NOC
A
B
C
A
r
B
iSr
iSA
r
iSr
iSB
r
dSA
r dSB
r
iSr = dSA
r [ dSB
r
I I
IA
IB
52. WMC
RFC
A
B C
browser
Complex Interactive Visualization-Language
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
53. WMC
RFC
A
B C
browser
Complex Interactive Visualization-Language
WMC
browser
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
54. WMC
RFC
A
B C
browser
Complex Interactive Visualization-Language
WMC
browser
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
55. WMC
RFC
A
B C
browser
Complex Interactive Visualization-Language
WMC
browser
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
traces
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
56. Complex Interactive Visualization-Language
25
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
iSr ✓ DI
C
iSC
r ✓ IC
✓ D
prC(iSC
r )
IC
= selC(I)
prC(IC
)
SC
r ✓ DC
dSC
r = pr 1
(SC
r ) ✓ I
IC
✓ children?
(I) ✓ D
prC(IC
) ✓ DC
D
dSC
r = pr 1
(SC
r ) ✓ IC
A
r
iSr
iSA
r
iSr = dSA
r [
I
IA
57. Complex Interactive Visualization-Language
25
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
iSr ✓ DI
C
iSC
r ✓ IC
✓ D
prC(iSC
r )
IC
= selC(I)
prC(IC
)
SC
r ✓ DC
dSC
r = pr 1
(SC
r ) ✓ I
IC
✓ children?
(I) ✓ D
prC(IC
) ✓ DC
D
dSC
r = pr 1
(SC
r ) ✓ IC
A
r
iSr
iSA
r
iSr = dSA
r [
I
IA
58. Complex Interactive Visualization-Language
25
Class { WMC: 3, RFC: 15, ... }
calls { amount: 2 }
Package
classessubpackages
<svg:g>
<svg:circle .../>
<svg:circle .../>
<svg:circle .../>
<svg:g>
...
</svg:g>
transformation
DOM
traces
<svg:g>
<svg:rect .../>
<svg:rect .../>
<svg:g>
...
</svg:g>
DOM
iSr ✓ DI
C
iSC
r ✓ IC
✓ D
prC(iSC
r )
IC
= selC(I)
prC(IC
)
SC
r ✓ DC
dSC
r = pr 1
(SC
r ) ✓ I
IC
✓ children?
(I) ✓ D
prC(IC
) ✓ DC
D
dSC
r = pr 1
(SC
r ) ✓ IC
A
r
iSr
iSA
r
iSr = dSA
r [
I
IA
59. Framework: Architecture and Realization
▶ DOM, Styles, Events
▶ JSON
▶ D3.js
▶ Web-Components and Angular2
■ components
■ data-binding and events
26