Skip to content

Architecture Generator (AG) is a component for creating SoS architectures at simulation time

License

Notifications You must be signed in to change notification settings

marcosborges1/architecture-generator-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Architecture Generator (AG)

Overview

The Architecture Generator (AG) is the main component of our approach, playing a crucial role in creating SoS architectures in the System Entity Structure (SES) language, which was designed to detail the decomposition of systems into subsystems based on a given perspective, and how such subsystems interact with each other. The AG generates the SES architecture using information from the JSON files missionFileJson and cssBehaviorFileJson, which are produced by the other two components, ME and CBA, respectively.

The essence of AG's functionality is rooted in the Algorithm section.

Algorithm

The AG's core is based on the algorithm described below.

Implementation Details

Constructed using Python, the AG service is a lightweight, dynamic, and web-compatible solution. The choice of language complements the ME algorithm's versatility and caters to the overarching requirements of the System of Systems context.

Setup

Before running the application, make sure to install the required dependencies. You can install them using pip:

pip install -r requirements.txt

Usage

Before you start the AG, be sure to start it.

python server.py

Access the AG from the GraphQL endpoint:

http://localhost:4003/graphql

Note:

  • The default PORT is 4003, but can be change for your convenience.
  • This project heavily relies on GraphQL, a powerful query language for APIs, and a server-side runtime for executing those queries with your existing data. If you're unfamiliar with GraphQL or wish to dive deeper, you can learn more about GraphQL here.

Project Status

The AG, currently in the evolutionary phase. It is actively undergoing improvements and changes to refine its capabilities and more effectively meet new requirements.

Author

Marcos Borges
PhD Student at Federal University of Ceará, Brazil
Email: marcos.borges@alu.ufc.br

Contributing

Community-driven improvements are always welcome. If you're looking to contribute, feel free to raise pull requests. For more significant changes or additions, it's recommended to open an issue first for discussions.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.