Skip to main content

Modern systems are heavily software-intensive. Model-Based Engineering (MBE) must incorporate software configuration management systems (also called application lifecycle management systems or ALM) into the total system model in its goal to bring all system information into a common structure. Syndeia 3.0 offers our first interface into this domain with an interface to GitHub.

GitHub is a Git-based ALM system widely used to manage large software projects with many collaborators. Important elements of a GitHub repository include

• Branch – a branch represents one thread of the software project’s development. A main branch, typically called master, is the main thread, but additional branches can diverge from master for R&D or customization. A branch can be merged back into master if its new features are needed.
• Commit – each branch is represented as a series of commits. In a commit, a software developer saves their changes and additions to the project back into a branch, where a new version is created and made available to the other collaborators.
• Tag – some commits may have special significance, such as commercial release versions of the software. These commits are additionally designated as tags, making it simpler to find these key elements.
• File – the contents of a branch are stored as a series of files, which may store pieces of computer code or other information, e.g. pdf documentation. Files are typically organized into folders. A commit modifies one or more files in a branch.

With the GitHub interface available for Syndeia 3.0 users can create and manage Reference connections to branches, commits, tags and files. In the Syndeia dashboard, Connection Manager tab, we can view the contents of the GitHub repository on the right side, as shown in Figure 1.

Syndeia dashboard, Connection Manager tab, for creating Reference connection to a commit Figure 1: Syndeia dashboard, Connection Manager tab, for creating Reference connection to a Git commit

To create a Reference connection between a SysML element (e.g. Git Test Block) and a commit in the Master branch, select Reference Connection in the center panel and drag the SysML block onto the desired GitHub commit (or vice versa). Now this SysML element is persistently linked to that particular version of the software. The SysML element could represent any of a number of concepts:

• A block representing the software element itself
• A block representing a hardware element where the software will reside
• A behavior (e.g. activity) carried out by the software
• A requirement satisfied by the software
• A simulation element (block, constraint block or behavior) modeling the software

Once the connection is created, we can use it to access the connected element directly through the GitHub web interface. To get to Figure 2 below, we right-clicked on Git Test Block in the SysML tool browser (or in a SysML diagram or in the Syndeia dashboard) and selected the command Open Connected Artifact, which took us directly to the GitHub page for that element where we can see its contents and status.

GitHub web interface opened to Initial commit via Open Connected Artifacts command Figure 2: GitHub web interface opened to Initial commit via Open Connected Artifacts command

In Syndeia, a Reference connection does not allow us to compare or synchronize the contents or structure of the connected elements. We can, however, use the Compare functionality to see if there is a later version of the commit in the same branch. The difference table generated appears in Figure 3, where the red highlighting shows a later version of the target available. Applying the Sync functionality will update the Reference connection to the latest commit in the same branch.

Syndeia dashboard, Comparison Result tab, showing later commit available in branch Figure 3: Syndeia dashboard, Comparison Result tab, showing later commit available in branch

A commit represents a set of files. The same functionality is available for creating reference connections to individual files managed by GitHub. In Figure 4, we expand the initial commit to show its files, in this case, a single README.txt file. We could have created a connection to that file and used the same access, compare and sync features described above for commits.

Syndeia dashboard, Connection Manager tab, for creating Reference connection to file Figure 4: Syndeia dashboard, Connection Manager tab, for creating Reference connection to file

This is the first version of an ALM interface for Syndeia. We expect customers to identify new use cases for future product versions. Other ALM systems will also be candidates for Syndeia, including Git-based (e.g. BitBucket) and other tools. Email us to learn more about the possibilities and to request an eval license.

Related Posts

Syndeia AI Agents – Part 1

Hello and welcome to a preview of Syndeia AI, a swarm of AI agents that are powered by Syndeia Cloud. These AI agents can take natural language inputs, fetch latest data from your ...
Manas Bajaj

Santa’s Mission 2024 with 8.2 billion landings made possible by Digital Threads (Day 5)

Santa has just returned from his whirlwind journey, and the workshop erupts in cheers. Elves spill into the command center, their faces glowing with joy and pride as they take in ...
Manas Bajaj

SDS Hardware, Software, and Verification Digital Threads go live (Day 4)

The air hums with the sound of high-tech enchantments and the cheerful chatter of elves hard at work. Twinkling fairy lights hang from the rafters, casting a warm, festive glow. ...
Manas Bajaj

3D Sleigh Assembly model coordinated with System Architecture (Day 3)

It is Day 3 and Tony Sparkgear (Chief-Hardware-Elf) had his team of elves are working hard to create a 3D model in NX parametric software to represent the Sleigh Assembly as shown ...
Manas Bajaj

Sleigh Delivery System – Architecture & Digital Thread Dashboard (Day 2)

It is 7 AM and North Pole is bathing in the first light of dawn reflecting from the snow. The Great Hall, ground zero of operations and logistics, is hustling and bustling with ...
Manas Bajaj

North Pole Calls Intercax for Digital Mission Possible (Day 1)

Today, Intercax received a call from Mrs. Claus, the heart and soul of operations and logistics at North Pole. Seven days from the finale and at a time when hope and love cannot ...
Manas Bajaj

SysML v2 and Digital Threads with Syndeia

SysML v2 is the next generation Systems Modeling Language for modeling complex systems that significantly enhances precision, expressiveness, usability, interoperability, and ...
Manas Bajaj

Digital Thread Conference 2024: A Milestone for Digital Engineering

AI for DT & DE | Part 1 – Connecting with OpenAI as a service in Syndeia®

Introduction – AI for Digital Threads and Integrated Digital Engineering Welcome to our new blog series – Artificial Intelligence (AI) for Digital Threads and Integrated Digital ...
Manas Bajaj