Project jobs#

Project jobs can be loaded, edited, and executed. A job execution requires Scade One to be installed as it uses the JobLauncher executable from Scade One tools.

Every Job is represented by the following parameters:

Attribute

Type

version

str

kind

JobType

properties

JobProperties

input_paths

list[str]

Parameters of JobProperties depend on the Job type (code generation, simulation or test execution):

Attribute

Type

CodeGen

Simulation

TestExec

root_declarations

list

x

x

x

name

str

x

x

x

custom_arguments

str

x

x

x

expansion

enum*

x

expansion_exp

str

x

expansion_no_exp

str

x

short_circuit_operators

bool

x

name_length

int

x

significance_length

int

x

keep_assume

str

x

globals_prefix

str

x

use_macros

bool

x

static_locals

bool

x

file_scenario

str

x

simulation_input_type

str

x

test_harness

str

x

x

test_result_file

str

x

use_cycle_time

bool

x

cycle_time

int

x

*`Expansion` is an attribute that can only have specific values: see ExpansionMode

from ansys.scadeone.core.job import JobLauncher, Job, JobType

s_one_install = "C:/Scade One"
app = ScadeOne(install_dir=s_one_install)

project = app.load_project(sproj_path)

# Get all the jobs of a project or get a specific job from its name
jobs = project.load_jobs()
job = project.get_job("TestExecutionJob0")

# Edit the job, save and execute it
job.input_paths = ["assets/testEnumsModule.swant"]
job.properties.test_harness = "testEnumsModule::harness_Operator2forEnums"
job.properties.use_cycle_time = True
job.cycle_time = 25  # .properties is not necessary

job.save()
result = job.run()
if result.code == 0:
    print("Execution successful!")
else:
    print(f"Execution failed. Error: {result.message})
class ansys.scadeone.core.job.JobStatus(value)#

Bases: Enum

Exit codes for a job execution

Success = 0#

Success

MissingParameters = 1#

Missing parameters

LoadIssue = 2#

Load issue

NotExistingProject = 3#

Not existing project

JobNotFound = 4#

Job not found

JobFailure = 5#

Job failure

JobNameDuplicate = 6#

Job name duplicate

InternalError = 7#

Internal error

NotExecutedYet = 8#

Not executed yet

static get_message(status_code: int) str#

Get the message corresponding to a status number

Parameters:
codeint

Status number

Returns:
str

Status message

class ansys.scadeone.core.job.JobResult(code: int, message: str | None = None)#

Bases: object

Results from the execution of a job

property code: int#

Get execution return code

property message: str#

Get execution return message

class ansys.scadeone.core.job.ExpansionMode(value)#

Bases: Enum

Possible values for Expansion field in code generation job properties

NONE = 1#

None

ALL = 2#

All

EXPAND = 3#

Expand

NOEXPAND = 4#

NoExpand

static str_to_expansion(str_exp: str | None) ExpansionMode#

Get Expansion value from sjob file content

class ansys.scadeone.core.job.JobType(value)#

Bases: Enum

Job types

CODEGEN = 1#

Code Generation type job

SIMU = 2#

Simulation type job

TESTEXEC = 3#

Test Execution type job

class ansys.scadeone.core.job.Job(name: str, kind: JobType, sproj: IProject, input_paths: list[str] | None = None, storage: JobStorage | None = None)#

Bases: ABC

Abstract class for jobs. Must be instantiated from one of its 3 derivated classes. Each of them uses its corresponding Properties parameters and kind.

property version: str#

.sjob version

property sproj: IProject#

Corresponding project

property is_simu: bool#

True if job is a simulation

property is_codegen: bool#

True if job is a code generation

property is_testexec: bool#

True if job is a test execution

property storage: JobStorage#

Job storage

property name: str#

Job name

abstract property properties: JobProperties#

Properties parameter. Its subtype depends on the Job kind, JobProperties is an abstract class.

property input_paths: list[str]#

InputPaths parameter

folder_name() str#

Generate name of the folder containing the sjob file

save() _JobData#

Save the Job parameters into .sjob file. Create a new folder for a new Job.

class ansys.scadeone.core.job.CodeGenerationJob(name: str, sproj: IProject, data: dict | None = None, storage: JobStorage | None = None)#

Bases: Job

Job of Code Generation kind

property properties: CodeGenerationJobProperties#

Code generation job properties

folder_name() str#

Generate name of the folder containing the sjob file

property input_paths: list[str]#

InputPaths parameter

property is_codegen: bool#

True if job is a code generation

property is_simu: bool#

True if job is a simulation

property is_testexec: bool#

True if job is a test execution

property name: str#

Job name

save() _JobData#

Save the Job parameters into .sjob file. Create a new folder for a new Job.

property sproj: IProject#

Corresponding project

property storage: JobStorage#

Job storage

property version: str#

.sjob version

class ansys.scadeone.core.job.SimulationJob(name: str, sproj: IProject, data: dict | None = None, storage: JobStorage | None = None)#

Bases: Job

Job of Simulation kind

property properties: SimulationJobProperties#

Simulation job properties

folder_name() str#

Generate name of the folder containing the sjob file

property input_paths: list[str]#

InputPaths parameter

property is_codegen: bool#

True if job is a code generation

property is_simu: bool#

True if job is a simulation

property is_testexec: bool#

True if job is a test execution

property name: str#

Job name

save() _JobData#

Save the Job parameters into .sjob file. Create a new folder for a new Job.

property sproj: IProject#

Corresponding project

property storage: JobStorage#

Job storage

property version: str#

.sjob version

class ansys.scadeone.core.job.TestExecutionJob(name: str, sproj: IProject, data: dict | None = None, storage: JobStorage | None = None)#

Bases: Job

Job of Test Execution kind

property properties: TextExecutionJobProperties#

Test execution job properties

folder_name() str#

Generate name of the folder containing the sjob file

property input_paths: list[str]#

InputPaths parameter

property is_codegen: bool#

True if job is a code generation

property is_simu: bool#

True if job is a simulation

property is_testexec: bool#

True if job is a test execution

property name: str#

Job name

save() _JobData#

Save the Job parameters into .sjob file. Create a new folder for a new Job.

property sproj: IProject#

Corresponding project

property storage: JobStorage#

Job storage

property version: str#

.sjob version

class ansys.scadeone.core.job.JobProperties(name: str, prop: dict)#

Bases: ABC

Abstract class for job properties, cannot be instantiated. Its derived class depends on the kind of Job. The parameters presented here can be found in all 3 kinds of Jobs properties.

property root_declarations: list[str]#

RootDeclarations common property

property custom_arguments: str#

CustomArguments common property

property name: str#

Name common property

class ansys.scadeone.core.job.CodeGenerationJobProperties(name: str, prop: dict | None = None)#

Bases: JobProperties

Properties of Code Generation kind Jobs. Parameters presented here are unique to Code Generation.

property expansion: ExpansionMode#

Expansion property

property expansion_exp: str#

ExpansionExp property

property expansion_no_exp: str#

ExpansionNoExp property

property custom_arguments: str#

CustomArguments common property

property name: str#

Name common property

property root_declarations: list[str]#

RootDeclarations common property

property short_circuit_operators: bool#

ShortCircuitOperators property

property name_length: int#

NameLength property

property significance_length: int#

SignificanceLength property

property keep_assume: bool#

KeepAssume property

property globals_prefix: str#

GlobalsPrefix property

property use_macros: bool#

UseMacros property

property static_locals: bool#

StaticLocals property

class ansys.scadeone.core.job.SimulationJobProperties(name: str, prop: dict | None = None)#

Bases: JobProperties

Properties of Simulation kind Jobs. Parameters presented here are unique to Simulation.

property custom_arguments: str#

CustomArguments common property

property name: str#

Name common property

property root_declarations: list[str]#

RootDeclarations common property

property file_scenario: str#

FileScenario property

property simulation_input_type: str#

SimulationInputType property

property test_harness: str#

TestHarness property

property use_cycle_time: bool#

UseCycleTime property

property cycle_time: int#

CycleTime property

class ansys.scadeone.core.job.TextExecutionJobProperties(name: str, prop: dict | None = None)#

Bases: JobProperties

Properties of Test Execution kind Jobs. Parameters presented here are unique to Test Execution.

property custom_arguments: str#

CustomArguments common property

property name: str#

Name common property

property root_declarations: list[str]#

RootDeclarations common property

property test_harness: str#

TestHarness property

property test_result_file: str#

TestResultFile property

class ansys.scadeone.core.job.JobLauncher#

Bases: object

Class used to execute a Job. Must set a job and a project in order to execute.

property result: JobResult#

Gets the result of the last executed job

property job: Job | None#

Job that should be executed

property sproj: IProject | None#

Project of the job

execute() bool#

Execute the Job via JobLauncher executable