VIS · GPT-5.6-Terra · C3

IEEE VIS author-community analysis — C3 · ATWL + library

C3

Designed by GPT-5.6-Terra. ATWL specification + example + the 54-workflow library, pre-formalised in ATWL. ↓ download raw .atwl

Workflow header & template

workflow ieee-vis-community-evolution-analysis template: define-unit (authors and temporal networks) → characterise (network and text features) → loop(build-model (overlapping communities) → define-unit (infer communities) → build-model (topics) → characterise (community profiles) → contextualise → visualise → abstract → assess → generate-knowledge (refine specifications)) → contextualise → visualise → loop(abstract → define-unit (select transition) → visualise → abstract → assess) → generate-knowledge description: "Identify, characterise, validate, and explain the evolution of overlapping research communities in IEEE VIS publications from 1990–2024. Communities are inferred from dynamic co-authorship structure, linked to research topics derived from paper text, and interpreted through coordinated visual exploration."

Input

artifact D_papers : entities origin: given internal structure: elementary embedment: time features: - id: f_paper_id value structure: atomic value type: reference description: "Unique paper identifier" - id: f_year value structure: atomic value type: temporal description: "Publication year, 1990–2024" - id: f_authors value structure: list value type: reference description: "Disambiguated DBLP author identifiers with raw name strings" - id: f_title value structure: atomic value type: text description: "Paper title" - id: f_abstract value structure: atomic value type: text description: "Paper abstract" - id: f_keywords value structure: list value type: text description: "Author- and venue-provided keywords" - id: f_citations value structure: list value type: reference description: "Cited paper identifiers" description: "IEEE VIS, InfoVis, VAST, and SciVis papers published between 1990 and 2024, with disambiguated author identities, bibliographic text, keywords, and citation information" artifact S_temporal_network : specification origin: given representation form: "temporal-network construction parameters" description: "Initial choice of annual or rolling multi-year windows, edge weighting rule (e.g., co-authored-paper count with recency decay), minimum activity threshold, and inclusion of citation-derived relations" artifact S_community_model : specification origin: given representation form: "dynamic overlapping-community model parameters" description: "Initial settings for number or resolution of communities, overlap regularisation, temporal persistence regularisation, minimum membership strength, lineage matching threshold, and core-member persistence threshold" artifact S_topic_model : specification origin: given representation form: "topic-model parameters" description: "Initial topic count, text preprocessing, term weighting, use of title/abstract/keywords, and topic-coherence criteria" artifact K_domain_context : knowledge(D_papers) origin: given representation form: "domain annotations and interpretation notes" description: "Analyst knowledge about visualization research areas, historically important venues, known research programs, institutions, and potentially meaningful author or topic changes"

Step 1: Define Authors And Temporal Co-Authorship Networks

transform T_define_authors : intent: define-unit manner: "group papers by disambiguated author identifier" input: D_papers output: D_authors actor: machine description: "Create one author entity per DBLP-disambiguated identifier, retaining links to authored papers and activity history" artifact D_authors : entities internal structure: elementary embedment: set features: - id: f_author_id value structure: atomic value type: reference description: "Disambiguated DBLP author identifier" - id: f_raw_names value structure: list value type: text description: "Observed raw author-name strings" - id: f_authored_papers value structure: list value type: reference description: "Papers authored by this researcher" - id: f_active_years value structure: list value type: temporal description: "Publication years in the IEEE VIS corpus" description: "Unique visualization-community researchers identified through DBLP-based author disambiguation" transform T_construct_networks : intent: define-unit manner: "time-partitioning and co-authorship-network aggregation" input: D_papers, D_authors, S_temporal_network output: D_network_snapshots actor: machine description: "Construct annual or rolling-window weighted co-authorship network snapshots; nodes are active authors and edges represent collaboration strength" artifact D_network_snapshots : entities internal structure: formation embedment: time features: - id: f_coauthor_edges value structure: relational configuration value type: {reference, numeric} description: "Weighted co-authorship graph for each temporal snapshot" - id: f_active_authors value structure: list value type: reference description: "Authors active in the snapshot window" - id: f_snapshot_period value structure: atomic value type: temporal description: "Year or rolling time-window interval" description: "Temporal sequence of weighted co-authorship-network snapshots representing evolving collaboration structure"

Step 2: Derive Network And Textual Features

transform T_characterise_network : intent: characterise manner: "compute graph statistics and inter-author relations" input: D_network_snapshots, D_authors output: F_network_structure, F_author_centrality actor: machine description: "Compute node centrality, weighted degree, brokerage, collaboration persistence, pairwise collaboration similarity, and temporal author-activity descriptors" artifact F_network_structure : feature(D_network_snapshots) value structure: relational configuration value type: {reference, numeric} representation form: "weighted dynamic co-authorship graph descriptors" description: "Structural descriptors of author relationships, including edge strength, persistence, neighbourhood similarity, and temporal continuity between snapshots" artifact F_author_centrality : feature(D_authors) value structure: vector value type: numeric description: "Per-author, per-time-window structural measures including weighted degree, betweenness, eigenvector centrality, brokerage, publication count, and collaboration persistence" transform T_encode_documents : intent: characterise manner: "text encoding and term-document representation" input: D_papers, S_topic_model output: F_paper_text actor: machine description: "Preprocess titles, abstracts, and keywords and create weighted document representations for topic discovery" artifact F_paper_text : feature(D_papers) value structure: matrix value type: numeric representation form: "weighted term-document matrix" description: "Textual representation of each paper based on title, abstract, and keywords"

Step 3: Iterative Model Calibration And Community Discovery

loop L_model_refinement: purpose: "Refine dynamic overlapping community and topic models until communities are structurally coherent, temporally plausible, and interpretable, while topics are semantically coherent and useful for characterising community research foci" until: "Community boundaries, overlaps, cores, lineage events, and topic descriptions are judged interpretable, stable enough for the research questions, and supported by visual and domain evidence" body: transform T_build_community_model : intent: build-model manner: "fit dynamic overlapping community model" input: D_network_snapshots, F_network_structure, S_community_model output: M_community_model actor: machine description: "Fit a temporally regularised overlapping-community model so authors may have multiple membership strengths while recurring collaboration structure is encouraged to persist across time" artifact M_community_model : model(D_network_snapshots, F_network_structure) model type: "dynamic overlapping community model" representation form: "time-indexed author-community membership matrix with temporal regularisation and community lineage correspondences" description: "Model of evolving collaboration communities allowing partial and simultaneous membership in multiple communities" transform T_infer_communities : intent: define-unit manner: "infer overlapping dynamic communities" input: D_network_snapshots, M_community_model, S_community_model output: D_communities, F_membership_strength, F_lineage_links actor: machine description: "Infer communities in each time period, author membership strengths, and correspondence links between communities in adjacent periods" artifact D_communities : entities internal structure: group/cluster embedment: time features: - id: f_community_id value structure: atomic value type: categorical description: "Persistent or period-specific community identifier" - id: f_member_authors value structure: list value type: reference description: "Authors associated with the community" - id: f_time_period value structure: atomic value type: temporal description: "Snapshot window in which the community exists" description: "Time-indexed collaboration communities whose memberships may overlap" artifact F_membership_strength : feature(D_authors) value structure: matrix value type: numeric description: "Author-by-community membership strengths over time; authors may hold substantial membership in several communities" artifact F_lineage_links : feature(D_communities) value structure: relational configuration value type: numeric representation form: "weighted community correspondence graph" description: "Continuity, split, merge, emergence, and disappearance links between communities in consecutive temporal windows" transform T_build_topic_model : intent: build-model manner: "fit topic model" input: F_paper_text, S_topic_model output: M_topic_model actor: machine description: "Build a topic model identifying research themes from paper titles, abstracts, and keywords" artifact M_topic_model : model(F_paper_text) model type: "topic model" representation form: "topic-term and paper-topic weight matrices" description: "Model of latent research topics in IEEE VIS publications" transform T_characterise_topics : intent: characterise manner: "compute paper-topic, community-topic, and temporal topic profiles" input: D_papers, D_communities, F_membership_strength, M_topic_model output: F_paper_topics, F_community_topics, F_topic_trends actor: machine description: "Assign topic weights to papers and aggregate them by community and time, weighted by authors' community memberships" artifact F_paper_topics : feature(D_papers) value structure: vector value type: numeric description: "Topic-weight vector for each paper" artifact F_community_topics : feature(D_communities) value structure: vector value type: numeric description: "Topic distribution for each community in each temporal window, calculated from associated papers and membership strengths" artifact F_topic_trends : feature(D_communities) value structure: matrix value type: numeric description: "Temporal topic-prevalence trajectories for each community" transform T_characterise_community_roles : intent: characterise manner: "derive cores, leaders, bridges, overlap, and stability measures" input: D_communities, F_membership_strength, F_author_centrality, F_lineage_links, F_community_topics output: F_community_roles, F_community_stability, F_overlap actor: machine description: "Compute persistent core membership, leadership rankings, bridge roles, community retention, topic stability, and pairwise community overlap" artifact F_community_roles : feature(D_authors) value structure: vector value type: numeric description: "Per-author community-role measures: persistent core score, within-community centrality, leadership rank, bridge score, number of concurrent communities, and membership trajectory" artifact F_community_stability : feature(D_communities) value structure: vector value type: numeric description: "Community-level retention, member turnover, core persistence, cohesion, temporal continuity, size change, and topic-change measures" artifact F_overlap : feature(D_communities) value structure: matrix value type: numeric description: "Pairwise community overlap through shared or multi-membership authors, calculated per time period" transform T_arrange_community_projection : intent: contextualise manner: "projection-based community and author similarity layout" input: D_communities, F_membership_strength, F_community_topics, F_overlap output: D_community_projection_space, A_community_projection actor: machine description: "Create a 2D similarity space where proximity reflects similarity in collaboration membership, topical focus, and overlap" artifact D_community_projection_space : entities internal structure: elementary features: - id: f_dimensions value structure: atomic value type: numeric description: "Two projection dimensions" description: "Computed 2D similarity space for communities and authors" artifact A_community_projection : arrangement(D_communities) context: D_community_projection_space principle: "projection preserving similarity in membership, overlap, and topic-profile structure" description: "2D arrangement exposing related, overlapping, or separated communities" transform T_arrange_evolution : intent: contextualise manner: "time-based lineage arrangement" input: D_communities, F_lineage_links, F_community_stability output: A_evolution actor: machine description: "Arrange communities by time and connect them through weighted lineage links to expose continuity, splits, merges, emergence, and dissolution" artifact A_evolution : arrangement(D_communities) context: D_network_snapshots principle: "horizontal time axis; vertically ordered communities; ribbon links encode membership continuity and lineage relations" description: "Temporal lineage arrangement of evolving overlapping communities" transform T_visualise_model_results : intent: visualise manner: "coordinated community, evolution, membership, and topic views" input: A_community_projection, A_evolution, D_communities, F_membership_strength, F_community_roles, F_community_stability, F_community_topics, F_topic_trends, F_overlap output: V_community_overview actor: machine description: "Display a coordinated dashboard: community projection, temporal lineage ribbons, membership-overlap matrix, leader/core ranking, stability plots, and topic evolution profiles" artifact V_community_overview : visualisation(A_community_projection, A_evolution, F_community_roles, F_community_stability, F_community_topics, F_overlap) layout: "coordinated dashboard with similarity projection, temporal alluvial lineage view, overlap matrix, ranked role table, and topic-profile panels" form: "points and hulls, alluvial ribbons, matrices, ranked bars, line charts, and topic heatmaps" encoding: "community position from projection; ribbon width from retained membership; ribbon branching/convergence from split/merge; colour from persistent community identity; node size from active member count; rank bars from core and leadership scores; heatmap intensity from topic prevalence; matrix intensity from overlap" description: "Interactive visualisation for evaluating communities, membership overlap, core stability, leadership, topical focus, and temporal change" transform T_interpret_model_results : intent: abstract manner: "perception-and-interpretation of community structure" input: V_community_overview, K_domain_context output: P_community_structure, P_topic_structure actor: human description: "Interpret candidate communities, their stable cores, bridge authors, topical identities, suspicious model artifacts, and candidate merge or split events" artifact P_community_structure : pattern(D_communities, F_community_stability) representation form: "interpreted community and evolution descriptions" description: "Tentative descriptions of major communities, stable cores, leaders, overlap structures, bridge authors, and lineage events" artifact P_topic_structure : pattern(F_community_topics, F_topic_trends) representation form: "named research-topic descriptions" description: "Tentative semantic descriptions of recurring research foci and their evolution across communities" transform T_assess_models : intent: assess manner: "evaluate structural validity, temporal plausibility, and topic coherence" input: V_community_overview, P_community_structure, P_topic_structure, S_community_model, S_topic_model, K_domain_context output: K_model_assessment actor: human description: "Judge whether community boundaries, overlap levels, lineage events, core definitions, and topic descriptions are meaningful enough for substantive analysis" artifact K_model_assessment : knowledge(D_communities, M_topic_model) representation form: "quality judgment" description: "Assessment of community coherence, temporal stability, interpretability of overlap and leadership, and semantic coherence of research topics; identifies required model refinements" if K_model_assessment indicates model refinement needed: then: transform T_refine_models : intent: generate-knowledge manner: "adjust temporal, community, and topic-model specifications" input: K_model_assessment, V_community_overview, S_temporal_network, S_community_model, S_topic_model output: S_temporal_network_r, S_community_model_r, S_topic_model_r actor: human description: "Revise time-window size, edge weighting, community overlap and persistence settings, lineage thresholds, topic count, or text preprocessing based on visual assessment" artifact S_temporal_network_r : specification representation form: "revised temporal-network construction parameters" description: "Updated snapshot resolution, window width, edge weighting, or inclusion criteria" artifact S_community_model_r : specification representation form: "revised dynamic overlapping-community parameters" description: "Updated overlap, persistence, resolution, core, and lineage-matching settings" artifact S_topic_model_r : specification representation form: "revised topic-model parameters" description: "Updated topic count, preprocessing, or coherence settings" assign: S_temporal_network := S_temporal_network_r S_community_model := S_community_model_r S_topic_model := S_topic_model_r else: exit loop L_model_refinement end loop L_model_refinement

Step 4: Detailed Exploration Of Evolution Events

artifact P_evolution_findings : pattern(D_communities) representation form: "accumulated community-evolution interpretations" description: "Initially empty; accumulates interpreted community transitions, causes, leadership changes, topical shifts, and evidence from selected papers" loop L_evolution_investigation: purpose: "Investigate consequential community transitions and membership changes to explain how communities evolved and why merges, splits, emergence, or dissolution occurred" until: "Major communities, their cores and leaders, membership overlaps, topical trajectories, and consequential evolution events have been sufficiently explained for the analyst's research questions" body: transform T_identify_transition : intent: abstract manner: "identify salient evolution events and anomalous changes" input: V_community_overview, P_community_structure, P_topic_structure, P_evolution_findings output: P_transition_candidates actor: human description: "Identify a significant merge, split, emergence, dissolution, leadership transition, unusually high overlap, or topical shift for detailed investigation" artifact P_transition_candidates : pattern(D_communities, F_lineage_links) representation form: "candidate evolution-event descriptions" description: "Candidate events requiring explanation, including their time interval, involved communities, and preliminary structural or topical interpretation" transform T_select_transition : intent: define-unit manner: "interactive selection of communities, authors, and time interval" input: P_transition_candidates, V_community_overview output: D_transition_focus actor: human description: "Select communities, involved authors, and time windows for detailed analysis of a particular evolution event" artifact D_transition_focus : entities internal structure: group/cluster embedment: time description: "Focused subset of communities, authors, papers, and temporal windows implicated in a selected evolution event" transform T_characterise_transition_evidence : intent: characterise manner: "derive membership-flow, publication, citation, and topic-shift evidence" input: D_transition_focus, D_papers, D_authors, D_communities, F_membership_strength, F_community_roles, F_community_topics, F_topic_trends, F_lineage_links output: F_transition_evidence actor: machine description: "Compute member inflow and outflow, retained core, leadership change, shared-author bridges, representative papers, citation links, and topic-distribution differences before and after the selected event" artifact F_transition_evidence : feature(D_transition_focus) value structure: vector value type: {numeric, categorical, temporal, reference} description: "Evidence for explaining a selected event: author flows, core retention, leadership changes, topic shifts, representative publications, and citation relations" transform T_visualise_transition : intent: visualise manner: "linked event-detail views" input: D_transition_focus, F_transition_evidence, D_papers, F_paper_topics, F_community_roles output: V_transition_detail actor: machine description: "Show selected communities as linked NodeTrix or node-link detail, author membership trajectories, before-after topic profiles, membership-flow ribbons, and representative-paper evidence" artifact V_transition_detail : visualisation(D_transition_focus, F_transition_evidence, D_papers, F_paper_topics) layout: "coordinated event-detail views: community network, author membership trajectories, before-after topic profiles, flow ribbons, and representative-paper list" form: "NodeTrix matrices and node-link links, alluvial ribbons, ranked lists, line charts, topic bars, and paper cards" encoding: "matrix cells and links from co-authorship strength; author line thickness from membership strength; colour from community identity; topic bar length from prevalence; paper cards show title, keywords, abstract excerpt, citations, and authors" description: "Detailed visual evidence supporting explanation of why a community changed" transform T_interpret_transition : intent: abstract manner: "explain merge, split, dissolution, or topic shift" input: V_transition_detail, K_domain_context, P_evolution_findings output: P_evolution_findings_r actor: human description: "Interpret the selected event using structural and topical evidence; distinguish substantive reorientation from a methodological artifact or short-lived collaboration fluctuation" artifact P_evolution_findings_r : pattern(D_communities, D_papers) representation form: "accumulated evidence-grounded evolution explanations" description: "Accumulated explanations of community emergence, persistence, merging, splitting, dissolution, leadership change, bridge roles, and changing research foci" transform T_assess_evolution_coverage : intent: assess manner: "evaluate completeness of community-evolution understanding" input: P_evolution_findings_r, V_community_overview, V_transition_detail output: K_evolution_assessment actor: human description: "Judge whether enough major communities and evolution events have been examined, or whether another event, period, or community requires investigation" artifact K_evolution_assessment : knowledge(P_evolution_findings_r) representation form: "quality judgment" description: "Assessment of whether the analyst has sufficient evidence to answer questions about community count, stable cores, leaders, overlap, research foci, and evolution" if K_evolution_assessment indicates sufficient understanding: then: assign: P_evolution_findings := P_evolution_findings_r exit loop L_evolution_investigation else: assign: P_evolution_findings := P_evolution_findings_r end loop L_evolution_investigation

Step 5: Synthesis

transform T_synthesise_findings : intent: generate-knowledge manner: "formulate statements and evidence-backed community profiles" input: P_community_structure, P_topic_structure, P_evolution_findings, F_community_stability, F_community_roles, F_overlap, K_model_assessment, K_evolution_assessment output: K_community_knowledge actor: human description: "Produce an evidence-backed account of the intellectual structure and evolution of the IEEE VIS community" artifact K_community_knowledge : knowledge(P_community_structure, P_topic_structure, P_evolution_findings) representation form: "community profiles, evolution narratives, and methodological provenance" description: "Final analytical knowledge: number and identity of major collaborating communities; stable cores and leaders; bridge authors and overlapping memberships; research foci and their temporal evolution; merges, splits, emergence, and dissolution events with supporting paper, citation, membership, and topic evidence; plus documented modeling choices and assessment rationale"