VIS · GPT-5.6-Terra · C7

IEEE VIS author-community analysis — C7 · fresh redesign

C7

Designed by GPT-5.6-Terra. Fresh ATWL redesign from the model's own C4 prose design (continuing that chat), explicitly not a translation. ↓ download raw .atwl

Workflow header & template

workflow dynamic-vis-community-analysis template: loop(define-unit → assess) → loop(define-unit (time-windowing) → define-unit (network construction) → characterise → build-model → define-unit (overlapping communities) → characterise → define-unit (community corpora) → build-model → characterise → contextualise → visualise → abstract → assess) → define-unit (community lineages) → characterise → abstract → visualise → loop(define-unit (event selection) → visualise → generate-knowledge → assess) → generate-knowledge description: "Human-in-the-loop workflow for identifying, validating, and interpreting evolving overlapping research communities in IEEE VIS co-authorship data, including stable cores, leaders, topical foci, membership overlap, and lineage events."

Inputs And Initial Analytic Control

artifact D_papers_raw : entities origin: given internal structure: elementary embedment: time features: - id: f_paper_id value structure: atomic value type: reference description: "Unique paper record identifier" - id: f_year value structure: atomic value type: temporal description: "Publication year, 1990--2024" - id: f_venue value structure: atomic value type: categorical description: "VIS, InfoVis, VAST, or SciVis venue" - id: f_authors value structure: list value type: reference description: "DBLP-disambiguated author identifiers, retaining raw names" - id: f_title_abstract_keywords value structure: vector value type: text description: "Paper title, abstract, and author keywords" - id: f_citation_count value structure: atomic value type: numeric description: "Available citation count for the paper" description: "IEEE VIS-family paper records containing authorship, bibliographic, textual, and citation information." artifact K_research_questions : knowledge(D_papers_raw) origin: given representation form: "analytic questions and interpretation criteria" description: "Questions concerning the number, stability, leadership, topical foci, overlap, and merge/split/dissolution history of collaboration communities." artifact S_curation : specification origin: given representation form: "data-quality rules" description: "Rules for duplicate-paper handling, DBLP identifier checks, author-list validation, missing-text treatment, and retention of raw author strings for inspection." artifact S_analysis_design_initial : specification origin: given representation form: "configuration schema" description: "Initial choices for rolling temporal-window width and stride, fractional co-authorship weighting, weak-tie treatment, overlapping community method and resolution range, temporal smoothing, robustness tests, topic-model configuration, and event-matching thresholds." artifact S_event_review_initial : specification origin: given representation form: "review priorities" description: "Criteria for selecting lineage events for detailed review, prioritising high-impact, structurally uncertain, or topically important merges, splits, reorientations, and dissolutions." assign: D_papers_current := D_papers_raw S_analysis_design := S_analysis_design_initial S_event_review := S_event_review_initial

Data Curation Loop

loop L_data_curation: purpose: "Create an auditable paper corpus with reliable author identities and usable textual metadata." until: "Paper records, author identities, and retained text are adequate for longitudinal collaboration and topic analysis." body: transform T_curate_papers : intent: define-unit manner: "validate, deduplicate, and normalise publication records" input: D_papers_current, S_curation output: D_papers_curated actor: hybrid description: "Resolve duplicate or incomplete records; validate DBLP author identifiers against raw names; retain provenance for exclusions; and normalise textual fields without removing meaningful domain terms." artifact D_papers_curated : entities internal structure: elementary embedment: time features: - id: f_author_ids value structure: list value type: reference description: "Validated DBLP author identifiers" - id: f_text value structure: vector value type: text description: "Cleaned title, abstract, and keyword text" - id: f_venue value structure: atomic value type: categorical description: "Publication venue" - id: f_citation_count value structure: atomic value type: numeric description: "Citation count retained for impact summaries" description: "Curated VIS-family papers suitable for collaboration, topical, and temporal analysis." transform T_assess_curation : intent: assess manner: "audit data completeness and identity reliability" input: D_papers_curated, S_curation, K_research_questions output: K_curation_quality actor: hybrid description: "Inspect missing metadata, anomalous author teams, suspicious name--identifier mappings, and venue/year coverage." artifact K_curation_quality : knowledge(D_papers_curated) representation form: "quality judgment" description: "Assessment of whether the curated corpus is sufficiently complete, identity-consistent, and temporally representative." assign: D_papers_current := D_papers_curated if K_curation_quality indicates unresolved data problems: then: continue else: exit loop L_data_curation end loop L_data_curation

Community Discovery, Topic Characterisation, And Design-Refinement Loop

loop L_community_design: purpose: "Develop a robust and interpretable representation of evolving, overlapping collaboration communities and their research foci." until: "Community structure is robust across reasonable alternatives, temporally coherent, topically interpretable, and adequate for the research questions." body: transform T_define_time_windows : intent: define-unit manner: "overlapping rolling time-window partitioning" input: D_papers_current, S_analysis_design output: D_time_windows actor: hybrid description: "Create annual and rolling analysis windows according to the current design, allowing the analyst to balance temporal detail against community stability." artifact D_time_windows : entities internal structure: elementary embedment: time features: - id: f_window_extent value structure: atomic value type: temporal description: "Start year, end year, and duration of each window" description: "Temporally ordered publication windows used to construct dynamic collaboration networks." transform T_construct_collaboration_networks : intent: define-unit manner: "author aggregation and time-windowed co-authorship construction" input: D_papers_current, D_time_windows, S_analysis_design output: D_author_windows, D_collaboration_networks actor: machine description: "Create author-by-window analysis units and one weighted co-authorship network per time window; retain links to contributing papers and apply fractional contribution rules for multi-author papers." artifact D_author_windows : entities internal structure: elementary embedment: {set, time} features: - id: f_author_id value structure: atomic value type: reference description: "DBLP author identifier" - id: f_window_id value structure: atomic value type: reference description: "Temporal window identifier" - id: f_contributing_papers value structure: list value type: reference description: "Papers written by the author in this window" description: "Author presences indexed by researcher and analysis window." artifact D_collaboration_networks : entities internal structure: formation embedment: time features: - id: f_window_id value structure: atomic value type: reference description: "Temporal window represented by the network snapshot" description: "Time-indexed weighted co-authorship network snapshots." transform T_characterise_collaboration : intent: characterise manner: "compute weighted network and author-activity descriptors" input: D_collaboration_networks, D_author_windows, D_papers_current, S_analysis_design output: F_collaboration_relations, F_author_activity actor: machine description: "Compute fractional co-authorship weights, repeated-tie statistics, publication and citation summaries, local connectivity, and brokerage descriptors." artifact F_collaboration_relations : feature(D_collaboration_networks) value structure: relational configuration value type: numeric representation form: "weighted undirected co-authorship graphs" description: "Collaboration edges and weights for every temporal network." artifact F_author_activity : feature(D_author_windows) value structure: vector value type: numeric description: "Publication volume, citation summary, collaboration strength, repeated-collaborator count, and network-centrality descriptors." transform T_fit_community_model : intent: build-model manner: "fit dynamic overlapping community model" input: D_collaboration_networks, F_collaboration_relations, F_author_activity, S_analysis_design output: M_community_model actor: machine description: "Fit an overlapping, temporally regularised community model at the selected resolution; estimate probabilistic or weighted membership rather than forcing each author into one community." artifact M_community_model : model(D_collaboration_networks, F_collaboration_relations) model type: "dynamic overlapping community model" representation form: "time-indexed membership-weight matrices and community-interaction parameters" description: "Model of evolving co-authorship communities with multi-community author affiliation." transform T_define_candidate_communities : intent: define-unit manner: "extract overlapping communities from membership model" input: D_author_windows, M_community_model, S_analysis_design output: D_candidate_communities, F_author_membership actor: machine description: "Create candidate community instances for each time window and assign each author-window a membership weight in zero, one, or multiple communities." artifact D_candidate_communities : entities internal structure: group/cluster embedment: time features: - id: f_window_id value structure: atomic value type: reference description: "Window in which the community instance is active" - id: f_members value structure: list value type: reference description: "Author-window members with non-zero affiliation" description: "Candidate overlapping collaboration communities in each temporal window." artifact F_author_membership : feature(D_author_windows) value structure: matrix value type: numeric representation form: "author-window by community membership-weight matrix" description: "Weighted affiliations supporting simultaneous membership in multiple communities." transform T_characterise_candidate_evolution : intent: characterise manner: "match adjacent communities by core, membership, and topical proxy" input: D_candidate_communities, F_author_membership, F_collaboration_relations, S_analysis_design output: F_candidate_lineage actor: machine description: "Estimate candidate continuation links between communities in adjacent windows, giving greater weight to persistent high-membership authors than to transient peripheral members." artifact F_candidate_lineage : feature(D_candidate_communities) value structure: relational configuration value type: numeric representation form: "directed weighted links between adjacent time windows" description: "Candidate predecessor--successor relations among community instances." transform T_define_community_corpora : intent: define-unit manner: "fractional paper allocation by community membership" input: D_papers_current, D_candidate_communities, F_author_membership, S_analysis_design output: D_community_corpora actor: machine description: "Create a document corpus for each community-window pair. Papers with authors spanning multiple communities are fractionally represented while retaining links to their complete author teams." artifact D_community_corpora : entities internal structure: group/cluster embedment: time features: - id: f_papers value structure: list value type: reference description: "Papers contributing to the community corpus" - id: f_fractional_contribution value structure: vector value type: numeric description: "Community-specific paper contribution weights" description: "Time-indexed weighted paper corpora associated with candidate communities." transform T_fit_topic_model : intent: build-model manner: "fit interpretable topic model" input: D_community_corpora, S_analysis_design output: M_topic_model actor: hybrid description: "Fit a topic model to titles, abstracts, and keywords using analyst-controlled preprocessing, topic granularity, and domain-term constraints." artifact M_topic_model : model(D_community_corpora) model type: "topic model" representation form: "interpretable document-topic and topic-term matrices" description: "Model of research foci expressed in community-associated paper corpora." transform T_characterise_research_foci : intent: characterise manner: "infer topic mixtures and representative papers" input: D_candidate_communities, D_community_corpora, M_topic_model output: F_topic_focus, F_representative_papers actor: machine description: "Associate each community with topic prevalence, salient terms, temporal topic trajectories, and representative papers." artifact F_topic_focus : feature(D_candidate_communities) value structure: matrix value type: numeric representation form: "community-window by topic prevalence matrix" description: "Research-focus mixture for each candidate community over time." artifact F_representative_papers : feature(D_candidate_communities) value structure: list value type: reference description: "High-contribution papers supporting each community topic interpretation." transform T_contextualise_candidate_lineages : intent: contextualise manner: "time-aligned lineage layout" input: D_candidate_communities, F_candidate_lineage, F_topic_focus output: D_lineage_canvas, A_candidate_lineages actor: machine description: "Create a time-aligned layout in which community instances occupy temporal lanes and candidate lineage links are visually traceable." artifact D_lineage_canvas : entities internal structure: elementary features: - id: f_layout_dimensions value structure: atomic value type: numeric description: "Two layout dimensions: time and community lane" description: "Computed reference space for community-lineage display." artifact A_candidate_lineages : arrangement(D_candidate_communities) context: D_lineage_canvas principle: "time-aligned placement with lineage-aware lane ordering" description: "Arrangement of community instances for inspecting continuity, branching, merging, and topical change." transform T_visualise_candidates : intent: visualise manner: "coordinated community-evolution dashboard" input: A_candidate_lineages, D_collaboration_networks, D_candidate_communities, F_author_membership, F_candidate_lineage, F_topic_focus, F_representative_papers, F_author_activity output: V_candidate_dashboard actor: machine description: "Provide linked lineage, overlap, network, author-history, topic-timeline, and paper-inspection views for interactive analysis." artifact V_candidate_dashboard : visualisation(A_candidate_lineages, D_collaboration_networks, F_author_membership, F_topic_focus) layout: "coordinated lineage timeline, overlap matrix, NodeTrix-style selected-network view, author membership ribbons, and topic heatmap" form: "bands, links, matrices, node-link marks, timelines, and text lists" encoding: "band width shows community size or publication volume; links show lineage strength; membership weight controls opacity; topic prevalence controls colour; selected authors and papers are linked across all views" description: "Interactive evidence display for judging community boundaries, overlap, temporal persistence, and research foci." transform T_abstract_candidate_patterns : intent: abstract manner: "perception-and-interpretation of community structure" input: V_candidate_dashboard, D_candidate_communities, F_author_membership, F_candidate_lineage, F_topic_focus output: P_candidate_structure actor: human description: "Identify tentative stable cores, boundary spanners, suspicious fragmentation, potential lineage events, and meaningful topic labels from the coordinated views." artifact P_candidate_structure : pattern(D_candidate_communities, F_author_membership, F_topic_focus) representation form: "annotated candidate communities and topical labels" description: "Analyst interpretations of candidate community structure, overlap, and research-focus regularities." transform T_assess_candidate_design : intent: assess manner: "evaluate robustness, temporal coherence, and interpretability" input: V_candidate_dashboard, M_community_model, M_topic_model, P_candidate_structure, K_research_questions, S_analysis_design output: K_candidate_quality, S_analysis_design_r actor: hybrid description: "Compare parameter and resampling alternatives; assess community cohesion, stability, overlap plausibility, topic coherence, and whether apparent events are supported by underlying papers." artifact K_candidate_quality : knowledge(D_candidate_communities, M_community_model, M_topic_model) representation form: "quality judgment" description: "Assessment of whether candidate communities and topics are robust, interpretable, and sufficient for substantive analysis." artifact S_analysis_design_r : specification representation form: "revised configuration schema" description: "Updated choices for temporal aggregation, edge weighting, community resolution, smoothing, topic granularity, and lineage thresholds based on the assessment." if K_candidate_quality indicates refinement needed: then: assign: S_analysis_design := S_analysis_design_r else: exit loop L_community_design end loop L_community_design

Establish Final Community Lineages, Roles, And Evolution Events

transform T_define_community_lineages : intent: define-unit manner: "assemble temporally linked community instances into lineages" input: D_candidate_communities, F_candidate_lineage, K_candidate_quality, S_analysis_design output: D_community_lineages, F_lineage_membership actor: hybrid description: "Confirm continuation relations and form distinct community lineages across 1990--2024, preserving uncertainty where multiple predecessors or successors remain plausible." artifact D_community_lineages : entities internal structure: sequence embedment: set features: - id: f_lineage_instances value structure: list value type: reference description: "Ordered community instances belonging to the lineage" - id: f_lifetime value structure: atomic value type: temporal description: "First and last active analysis windows" description: "Longitudinal community identities composed of ordered community instances." artifact F_lineage_membership : feature(D_candidate_communities) value structure: atomic value type: reference description: "Lineage identifier assigned to each community instance." transform T_characterise_roles_and_overlap : intent: characterise manner: "compute persistence, leadership, brokerage, and overlap profiles" input: D_author_windows, D_community_lineages, F_author_membership, F_author_activity, F_collaboration_relations, F_lineage_membership output: F_core_persistence, F_leadership, F_author_roles, F_community_overlap actor: machine description: "Identify stable-core membership from sustained high affiliation and repeated internal ties; score leadership from within-community contribution and brokerage; quantify overlap and author mobility." artifact F_core_persistence : feature(D_author_windows) value structure: atomic value type: numeric description: "Persistence score for stable-core participation in a lineage." artifact F_leadership : feature(D_author_windows) value structure: atomic value type: numeric description: "Leadership score combining internal collaboration strength, sustained contribution, publication activity, and brokerage." artifact F_author_roles : feature(D_author_windows) value structure: list value type: categorical description: "Roles such as stable core, leader, peripheral contributor, and boundary spanner; multiple roles may apply across communities." artifact F_community_overlap : feature(D_candidate_communities) value structure: matrix value type: numeric representation form: "time-indexed pairwise overlap matrix" description: "Shared-member and weighted-membership overlap between communities in each time window." transform T_abstract_evolution_events : intent: abstract manner: "classify community lineage events" input: D_community_lineages, F_candidate_lineage, F_lineage_membership, F_author_membership, F_core_persistence, F_topic_focus output: P_evolution_events actor: hybrid description: "Identify and label continuations, growth, contraction, births, dissolutions, temporary disappearances, mergers, splits, and topical reorientations; distinguish candidate events from robust events." artifact P_evolution_events : pattern(D_community_lineages, F_candidate_lineage, F_topic_focus) representation form: "time-stamped event records with confidence annotations" description: "Structural and topical evolution events in the VIS research community." transform T_visualise_final_structure : intent: visualise manner: "interactive community-history dashboard" input: D_community_lineages, D_candidate_communities, F_author_membership, F_core_persistence, F_leadership, F_author_roles, F_community_overlap, F_topic_focus, F_representative_papers, P_evolution_events output: V_community_history actor: machine description: "Present final community lineages and enable drill-down from high-level evolution patterns to authors, collaborations, papers, and topical evidence." artifact V_community_history : visualisation(D_community_lineages, F_author_roles, F_community_overlap, F_topic_focus, P_evolution_events) layout: "linked community lineage view, role-ranked author table, overlap matrix, membership ribbons, topic evolution heatmap, and event detail panel" form: "bands, flow links, matrices, ranked lists, timelines, and paper cards" encoding: "lineage bands encode active membership or publication volume; core and leader scores control author ranking; event markers encode type and confidence; topics encode colour and relative area" description: "Final visual workspace for answering community-structure and evolution questions with traceable evidence."

Event-Focused Interpretation Loop

artifact K_event_log_initial : knowledge(P_evolution_events) origin: given representation form: "annotated evidence log" description: "Initially empty or externally supplied record of prior interpretations, uncertainties, and domain context for evolution events." assign: K_event_log := K_event_log_initial loop L_event_interpretation: purpose: "Develop evidence-backed explanations for consequential or uncertain community evolution events." until: "All salient events have been reviewed to a level appropriate for the research questions, and remaining uncertainty is explicitly recorded." body: transform T_select_events_for_review : intent: define-unit manner: "filter and prioritise event instances" input: P_evolution_events, S_event_review, K_event_log output: D_events_for_review actor: human description: "Select the next merge, split, dissolution, reorientation, or uncertain lineage event for investigation." artifact D_events_for_review : entities internal structure: elementary embedment: time features: - id: f_event_type value structure: atomic value type: categorical description: "Evolution-event category" - id: f_event_confidence value structure: atomic value type: numeric description: "Confidence in the event classification" description: "Selected event instances requiring detailed interpretation." transform T_visualise_event_evidence : intent: visualise manner: "before-and-after comparative evidence display" input: D_events_for_review, V_community_history, F_core_persistence, F_leadership, F_author_membership, F_topic_focus, F_representative_papers, F_author_activity output: V_event_evidence actor: machine description: "Compare predecessor and successor cores, entrants and leavers, collaboration structure, topic trajectories, representative papers, venue composition, and citation impact around each event." artifact V_event_evidence : visualisation(D_events_for_review, F_author_membership, F_topic_focus, F_representative_papers) layout: "aligned pre-event and post-event views with linked paper evidence" form: "community matrices, author flows, topic comparisons, and paper lists" encoding: "membership and core scores identify retained and changing members; topic proportions compare research foci; selected papers provide textual evidence" description: "Evidence workspace for interpreting why a structural community event may have occurred." transform T_formulate_event_interpretations : intent: generate-knowledge manner: "formulate qualified explanatory hypotheses" input: D_events_for_review, V_event_evidence, K_event_log, K_research_questions output: K_event_log_r actor: human description: "Record evidence-backed, non-causal interpretations such as topical divergence, new cross-group collaboration, researcher mobility, venue shifts, or sparse-data artifacts; retain alternative explanations." artifact K_event_log_r : knowledge(D_events_for_review, V_event_evidence) representation form: "annotated hypotheses with evidence and uncertainty" description: "Cumulative interpretations of reviewed evolution events, including supporting papers, structural evidence, and unresolved issues." transform T_assess_event_evidence : intent: assess manner: "judge explanatory sufficiency and prioritise further review" input: K_event_log_r, V_event_evidence, S_event_review output: K_event_evidence_quality, S_event_review_r actor: human description: "Assess whether each interpretation is sufficiently supported, whether alternative time windows or parameter settings should be checked, and which event should be reviewed next." artifact K_event_evidence_quality : knowledge(K_event_log_r) representation form: "quality judgment" description: "Judgment of evidential sufficiency, remaining uncertainty, and whether further event analysis is required." artifact S_event_review_r : specification representation form: "revised review priorities" description: "Updated event-selection priorities and evidence requirements." assign: K_event_log := K_event_log_r if K_event_evidence_quality indicates further event review needed: then: assign: S_event_review := S_event_review_r else: exit loop L_event_interpretation end loop L_event_interpretation

Synthesis

transform T_synthesise_findings : intent: generate-knowledge manner: "formulate-statements and comparative community profiles" input: V_community_history, D_community_lineages, F_core_persistence, F_leadership, F_author_roles, F_community_overlap, F_topic_focus, P_evolution_events, K_event_log, K_candidate_quality output: K_community_findings actor: human description: "Produce a traceable account of the number of communities and lineages, stable cores and leaders, research foci and their evolution, membership overlap, and evidence-qualified merge, split, reorientation, and dissolution interpretations." artifact K_community_findings : knowledge(D_community_lineages, P_evolution_events, F_topic_focus) representation form: "community profiles, longitudinal findings, and uncertainty-qualified conclusions" description: "Final analytical findings about the intellectual structure and evolution of the IEEE VIS research community."