VIS · GPT-5.6-Terra · C2

IEEE VIS author-community analysis — C2 · ATWL + example

C2

Designed by GPT-5.6-Terra. ATWL specification + one worked example (HITL); no library. ↓ download raw .atwl

Workflow header & template

workflow ieee-vis-community-evolution template: define-unit → characterise → build-model → loop(build-model (dynamic overlapping communities) → characterise → define-unit → characterise → contextualise → visualise → abstract → assess) → generate-knowledge description: "Human-in-the-loop workflow for identifying, characterising, and interpreting evolving overlapping co-authorship communities in the IEEE VIS literature from 1990 to 2024."

Input Data And Initial Analytical Specifications

artifact D_papers : entities origin: given internal structure: elementary embedment: time features: - id: paper_id value structure: atomic value type: reference description: "Unique paper identifier" - id: publication_year value structure: atomic value type: temporal description: "Publication year from 1990 to 2024" - id: authors value structure: list value type: reference description: "DBLP-disambiguated author identifiers, retained with their original author-name strings" - id: title_abstract_keywords value structure: list value type: text description: "Textual metadata used to characterise research foci" - id: citations value structure: atomic value type: numeric description: "Citation count associated with the paper record" description: "3596 IEEE VIS, InfoVis, VAST, and SciVis paper records." artifact D_periods : entities origin: given internal structure: elementary embedment: time features: - id: temporal_extent value structure: atomic value type: temporal description: "Yearly or analyst-defined sliding temporal window" description: "Temporal reference periods used to organise network snapshots and community evolution." artifact S_temporal_network : specification origin: given representation form: "configuration schema" description: "Initial choices for temporal window width and overlap, co-authorship edge weighting, treatment of single-author papers, minimum activity threshold, and inclusion of authors with weak ties." artifact S_topic_model : specification origin: given representation form: "parameter settings and method choice" description: "Text preprocessing, topic-model family, topic granularity, and use of titles, abstracts, and keywords." artifact S_community_model_0 : specification origin: given representation form: "configuration schema" description: "Initial dynamic overlapping-community model settings, including affiliation threshold, temporal smoothness, resolution, minimum community size, and optional topic-aware regularisation." artifact K_domain_context : knowledge(D_papers) origin: given representation form: "annotations and interpretive criteria" description: "Analyst knowledge about visualization research areas, conference history, known terminology changes, and criteria for a substantively meaningful research community."

Step 1: Create Temporal Co-Authorship Network Snapshots

transform T_construct_collaboration_snapshots : intent: define-unit manner: "time-partitioning and co-authorship-network construction" input: D_papers, D_periods, S_temporal_network output: D_collaboration_snapshots actor: machine description: "Aggregate papers within each temporal period into weighted co-authorship-network snapshots. Nodes are unique DBLP authors and edge weights represent the strength or frequency of collaboration." artifact D_collaboration_snapshots : entities internal structure: formation embedment: time features: - id: edge_weight value structure: atomic value type: numeric description: "Weighted collaboration strength between two authors" - id: active_author_count value structure: atomic value type: numeric description: "Number of authors active in the snapshot" - id: paper_count value structure: atomic value type: numeric description: "Number of papers contributing to the snapshot" description: "Temporal sequence of weighted co-authorship-network snapshots for the IEEE VIS community." transform T_characterise_collaboration_structure : intent: characterise manner: "compute network roles and temporal collaboration descriptors" input: D_collaboration_snapshots output: F_author_structural_roles actor: machine description: "Compute author-level structural descriptors such as weighted degree, centrality, brokerage, collaboration persistence, and changes in collaboration neighbourhood." artifact F_author_structural_roles : feature(D_collaboration_snapshots) value structure: relational configuration representation form: "time-indexed author-role attributes" description: "Network-derived descriptors used to identify candidate leaders, persistent members, brokers, and structurally changing authors."

Step 2: Derive Research-Topic Representations

transform T_fit_topic_model : intent: build-model manner: "fit-topic-model" input: D_papers, S_topic_model, K_domain_context output: M_topic_model actor: hybrid description: "Build a topic model over titles, abstracts, and keywords. The analyst reviews topic granularity and vocabulary while the machine estimates topic distributions." artifact M_topic_model : model(D_papers) model type: "topic model" representation form: "document-topic and topic-term distributions" description: "Computational representation of recurring research foci in the IEEE VIS paper corpus." transform T_characterise_paper_topics : intent: characterise manner: "apply topic model" input: D_papers, M_topic_model output: F_paper_topics actor: machine description: "Assign each paper a distribution over research topics." artifact F_paper_topics : feature(D_papers) value structure: vector value type: numeric representation form: "topic-probability vector per paper" description: "Topic mixture describing the research foci of each paper." transform T_abstract_topic_semantics : intent: abstract manner: "name-patterns" input: M_topic_model, F_paper_topics, K_domain_context output: P_topic_semantics actor: human description: "Inspect topic terms and representative papers, then assign meaningful research-focus labels to coherent topics." artifact P_topic_semantics : pattern(M_topic_model, F_paper_topics) representation form: "named topic descriptions" description: "Human-interpretable descriptions of major visualization research topics and problem areas."

Step 3: Initialise The Community-Model Specification

assign: S_community_model := S_community_model_0

Step 4: Interactive Community-Discovery And Validation Loop

loop L_community_refinement: purpose: "Identify temporally persistent but overlapping collaboration communities and refine modelling choices until the results are both structurally credible and interpretable by the analyst." until: "Community trajectories, cores, overlaps, topical profiles, and structural events are sufficiently stable, coherent, and useful for answering the analyst's questions." body:

Step 4A: Fit A Dynamic Overlapping-Community Model

transform T_fit_dynamic_communities : intent: build-model manner: "fit dynamic overlapping-community model" input: D_collaboration_snapshots, F_author_structural_roles, S_community_model output: M_dynamic_communities actor: hybrid description: "Fit a temporal community model that permits weighted multiple memberships, author mobility, and persistence of community identity across adjacent periods. Topic information may be used only if specified as a regularisation or validation choice." artifact M_dynamic_communities : model(D_collaboration_snapshots, F_author_structural_roles) model type: "dynamic overlapping-community model" representation form: "time-indexed weighted author-community affiliation parameters with temporal continuity relations" description: "Formal model of evolving collaboration communities in which authors may belong to several communities simultaneously."

Step 4B: Derive Affiliations And Period-Specific Community Instances

transform T_characterise_affiliations : intent: characterise manner: "infer weighted community affiliations" input: D_collaboration_snapshots, M_dynamic_communities output: F_author_community_affiliations actor: machine description: "Infer each author's weighted affiliation with one or more communities in each temporal period." artifact F_author_community_affiliations : feature(D_collaboration_snapshots) value structure: relational configuration representation form: "time-indexed weighted author-community bipartite affiliation relations" description: "Affiliation strengths that represent overlapping membership, entry, exit, and movement between communities." transform T_define_community_periods : intent: define-unit manner: "group-by-weighted community affiliation" input: D_collaboration_snapshots, F_author_community_affiliations, S_community_model output: D_community_periods actor: machine description: "Create a community instance for each identified community in each temporal period, retaining weighted memberships rather than forcing authors into one exclusive group." artifact D_community_periods : entities internal structure: group/cluster embedment: time features: - id: member_authors value structure: list value type: reference description: "DBLP author identifiers belonging to the community instance, with associated affiliation strengths" - id: active_size value structure: atomic value type: numeric description: "Number of active members in the period" description: "Period-specific overlapping co-authorship communities."

Step 4C: Derive Lineages, Core Members, Leadership, And Topical Focus

transform T_characterise_community_evolution : intent: characterise manner: "compute temporal continuity, overlap, and community roles" input: D_community_periods, F_author_community_affiliations, F_author_structural_roles output: F_community_continuity, F_membership_overlap, F_core_and_leadership actor: machine description: "Compute similarity and continuity between community instances, shared memberships between concurrent communities, and persistent high-affiliation members with structural leadership roles." artifact F_community_continuity : feature(D_community_periods) value structure: relational configuration representation form: "directed temporal similarity graph" description: "Relations linking community instances across periods; one-to-many and many-to-one relations provide evidence of splits and mergers." artifact F_membership_overlap : feature(D_community_periods) value structure: matrix value type: numeric representation form: "pairwise weighted membership-overlap matrix per temporal period" description: "Degree to which communities share authors, including authors with substantial simultaneous affiliations." artifact F_core_and_leadership : feature(D_community_periods) value structure: list value type: reference representation form: "ranked author lists with persistence, affiliation, centrality, brokerage, and optional citation measures" description: "Candidate stable core members and leaders, derived from sustained membership and collaboration-network roles; citation measures are contextual rather than defining community leadership." transform T_define_community_lineages : intent: define-unit manner: "link temporally continuous community instances" input: D_community_periods, F_community_continuity output: D_community_lineages actor: machine description: "Link related period-specific community instances into longer-lived community histories while retaining branching relations for mergers and splits." artifact D_community_lineages : entities internal structure: sequence embedment: set features: - id: lifespan value structure: atomic value type: temporal description: "Temporal extent from appearance to dissolution" - id: stability_score value structure: atomic value type: numeric description: "Persistence of the community and its core across successive periods" description: "Evolving community trajectories composed of linked community instances over time." transform T_characterise_community_foci : intent: characterise manner: "aggregate topic distributions by community and period" input: D_papers, F_paper_topics, D_community_periods, F_author_community_affiliations output: F_community_topic_profiles actor: machine description: "Aggregate papers and topic distributions associated with community members to estimate each community's research foci and their change through time." artifact F_community_topic_profiles : feature(D_community_periods) value structure: vector value type: numeric representation form: "time-indexed topic-distribution profiles" description: "Research-focus profiles for each community instance, enabling comparison of topical specialisation and topical evolution."

Step 4D: Arrange And Visualise The Evolving Community Structure

transform T_contextualise_community_evolution : intent: contextualise manner: "timeline-based" input: D_community_periods, D_periods, F_community_continuity output: A_community_timeline actor: machine description: "Place community instances along the temporal reference periods and organise lineage connections to support tracing of persistence, emergence, merging, splitting, and dissolution." artifact A_community_timeline : arrangement(D_community_periods) context: D_periods principle: "temporal placement by publication period; lineage links derived from continuity relations" description: "Timeline arrangement of community instances and their temporal continuity relations." transform T_visualise_communities : intent: visualise manner: "coordinated temporal network and affiliation views" input: A_community_timeline, D_collaboration_snapshots, D_community_lineages, F_author_community_affiliations, F_membership_overlap, F_core_and_leadership, F_community_topic_profiles, P_topic_semantics output: V_community_evolution actor: machine description: "Create linked interactive views for inspecting community evolution, collaboration structure, overlapping memberships, candidate cores and leaders, and topic changes." artifact V_community_evolution : visualisation(A_community_timeline, D_collaboration_snapshots, F_author_community_affiliations, F_membership_overlap, F_core_and_leadership, F_community_topic_profiles) layout: "coordinated alluvial timeline, temporal node-link views, author-by-community affiliation matrix, and topic-profile timelines" form: "flows, nodes and weighted edges, coloured matrix cells, ranked lists, and stacked topic distributions" encoding: "timeline position from A_community_timeline; community colour by lineage; flow width by membership continuity; author affiliation intensity by membership weight; node prominence by structural role; topic colour by P_topic_semantics" description: "Interactive visual environment for examining community identities, cores, leadership, overlap, mobility, and topical change."

Step 4E: Human Interpretation And Quality Assessment

transform T_abstract_community_patterns : intent: abstract manner: "perception-and-interpretation" input: V_community_evolution, D_community_lineages, F_core_and_leadership, F_membership_overlap, F_community_topic_profiles, P_topic_semantics, K_domain_context output: P_community_dynamics actor: human description: "Identify and name salient community structures: stable cores, bridging researchers, persistent overlap, topical shifts, emerging communities, mergers, splits, and dissolutions." artifact P_community_dynamics : pattern(D_community_lineages, F_community_continuity, F_community_topic_profiles) representation form: "annotated community histories and event types" description: "Interpreted patterns of community persistence, movement, overlap, topical development, merger, split, emergence, and dissolution." transform T_assess_community_solution : intent: assess manner: "evaluate dynamic-community quality and interpretability" input: V_community_evolution, M_dynamic_communities, D_community_lineages, F_membership_overlap, F_core_and_leadership, P_community_dynamics, K_domain_context, S_community_model output: K_community_quality, S_community_model_r actor: hybrid description: "Evaluate structural fit, temporal stability, robustness to reasonable parameter changes, coherence of core members, plausibility of overlap and event detection, topic interpretability, and usefulness for the research questions." artifact K_community_quality : knowledge(M_dynamic_communities, D_community_lineages, V_community_evolution) representation form: "quality judgment and diagnostic notes" description: "Assessment of whether the current community solution is over-fragmented, over-merged, temporally unstable, insufficiently overlapping, or otherwise inadequate for interpretation." artifact S_community_model_r : specification representation form: "revised configuration settings" description: "Refined temporal window, resolution, affiliation threshold, temporal smoothness, community-size rule, or model family selected in response to assessment." if K_community_quality indicates further refinement needed: then: assign: S_community_model := S_community_model_r else: exit loop L_community_refinement end loop L_community_refinement

Step 5: Formulate Analytical Findings

transform T_synthesise_findings : intent: generate-knowledge manner: "formulate-statements" input: D_community_lineages, F_core_and_leadership, F_membership_overlap, F_community_topic_profiles, P_community_dynamics, K_community_quality, P_topic_semantics output: K_community_findings actor: human description: "Formulate evidence-based conclusions about the major collaboration communities, their stable cores and leaders, research foci, overlap and mobility, and the timing and interpretation of structural changes." artifact K_community_findings : knowledge(D_community_lineages, P_community_dynamics, F_community_topic_profiles) representation form: "analytical statements, annotated timelines, and qualified explanations" description: "Findings addressing the number of communities; their stability, leaders, and cores; their main and evolving research foci; membership overlap and mobility; and documented merger, split, and dissolution events with supporting collaboration and topical evidence."