{"id":37023871,"url":"https://github.com/mdsol/skyfire","last_synced_at":"2026-01-14T02:52:29.704Z","repository":{"id":57726567,"uuid":"44632985","full_name":"mdsol/skyfire","owner":"mdsol","description":"Skyfire is a Model-Based Testing (MBT) tool that generates Cucumber test scenarios from a UML behavioral diagram.","archived":true,"fork":false,"pushed_at":"2016-09-27T21:39:41.000Z","size":514,"stargazers_count":13,"open_issues_count":1,"forks_count":3,"subscribers_count":431,"default_branch":"master","last_synced_at":"2025-07-26T09:52:55.183Z","etag":null,"topics":["patient-mgmt"],"latest_commit_sha":null,"homepage":"","language":"Cucumber","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdsol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-20T20:26:44.000Z","updated_at":"2025-02-19T02:24:28.000Z","dependencies_parsed_at":"2022-09-13T14:52:07.288Z","dependency_job_id":null,"html_url":"https://github.com/mdsol/skyfire","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mdsol/skyfire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdsol%2Fskyfire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdsol%2Fskyfire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdsol%2Fskyfire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdsol%2Fskyfire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdsol","download_url":"https://codeload.github.com/mdsol/skyfire/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdsol%2Fskyfire/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["patient-mgmt"],"created_at":"2026-01-14T02:52:29.023Z","updated_at":"2026-01-14T02:52:29.688Z","avatar_url":"https://github.com/mdsol.png","language":"Cucumber","funding_links":[],"categories":[],"sub_categories":[],"readme":"# skyfire\n\n[![Build Status](https://travis-ci.org/mdsol/skyfire.svg?branch=develop)](https://travis-ci.org/mdsol/skyfire)\n\n## Introduction\nSkyfire is a Model-Based Testing (MBT) tool that generates [Cucumber](https://cucumber.io/) test scenarios from a UML behavioral diagram.\nCurrently, skyfire supports Eclipse Modeling Framework (EMF)-based UML state machine diagrams.\nUsers can create EMF-based UML diagrams using [Papyrus](https://eclipse.org/papyrus/) or [UMLDesigner](http://www.umldesigner.org/). \n\nFor the motivation, algorithms, and more information, please read the [paper](https://cs.gmu.edu/~nli1/2016-nli-MbtWithCucumber.pdf).\n\n## Usage\n * Create a Maven-based Java project\n \n * Include the dependency in the POM file\n\n```\n\u003cdependency\u003e\n\t\u003cgroupId\u003ecom.mdsol\u003c/groupId\u003e\n\t\u003cartifactId\u003eskyfire\u003c/artifactId\u003e\n\t\u003cversion\u003e1.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n* Call the API and specify the path to the UML diagram, a graph coverage criterion, a feature description, and the path to the Cucumber feature file to generate.\nUsers can select node coverage, edge coverage, edge-pair coverage, or prime path coverage for the graph coverage criterion.\nThe definitions of these four coverage criteria are included in the paper above.\nThe feature description, pathToModel, and pathToFeatureFile are in the String format.\n\n```\nCucumberTestGenerator.generateCucumberScenario (\n\tPaths.get (pathToModel),\n\tTestCoverageCriteria.SOMECOVERAGE,\n\tfeatureDescription,\n\tPaths.get (pathToFeatureFile));\n);\n```\n* When a UML diagram uses the same name for different behaviors in multiple composite states, call another API to use qualified names of transitions to distinct transitions that have the same names.\nThe parameters used are the same as the one above.\n```\nCucumberTestGenerator.generateCucumberScenarioWithQualifiedName (\n\tPaths.get (pathToModel),\n\tTestCoverageCriteria.SOMECOVERAGE,\n\tfeatureDescription,\n\tPaths.get (pathToFeatureFile));\n);\n```\n\n# Development Instructions\n\n## Installation \nRun jars-installation.sh to install the coverage-0.9 jar, org.eclipse.uml2.common_1.7.0.v20120913-1441.jar, and org.eclipse.uml2.types_1.0.0.v20120913-1441.jar locally because these libraries are not available in any public Maven repository\n\n### Compile The Project\n```\nmvn clean compile\n```\n\n### Check Checkstyle Report\n```\nmvn site\n```\n## Run Unit Tests\n```\nmvn clean test\n```\n\n## Run Integration Tests\n```\nmvn clean integration-test\n```\n\n## Generate source and JavaDoc Jars\n```\nmvn package\n```\n\n##Stage for Deployment and Release (project owners only)\n```\nmvn clean deploy\n```\n\n##Perform a Release Deployment (project owners only)\n```\nmvn clean deploy -P release\n```\n## License\nCode and documentation copyright 2015-2016 Medidata Solutions, Inc. Code released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdsol%2Fskyfire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdsol%2Fskyfire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdsol%2Fskyfire/lists"}