pub struct StochasticBusinessProcessModelAndNotation {
pub bpmn: BusinessProcessModelAndNotation,
}Fields§
§bpmn: BusinessProcessModelAndNotationImplementations§
Source§impl StochasticBusinessProcessModelAndNotation
impl StochasticBusinessProcessModelAndNotation
Sourcepub fn get_initial_marking(&self) -> Result<BPMNMarking, Error>
pub fn get_initial_marking(&self) -> Result<BPMNMarking, Error>
BPMN 2.0.2 standard page 238
pub fn execute_transition( &self, marking: &mut BPMNMarking, transition_index: usize, ) -> Result<(), Error>
pub fn is_final_marking(&self, marking: &BPMNMarking) -> Result<bool, Error>
pub fn is_transition_silent( &self, transition_index: usize, marking: &BPMNMarking, ) -> bool
pub fn get_transition_activity( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<Activity>
pub fn get_enabled_transitions( &self, marking: &BPMNMarking, ) -> Result<Vec<usize>, Error>
pub fn number_of_transitions(&self, marking: &BPMNMarking) -> usize
pub fn get_transition_weight( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<FractionEnum>
Source§impl StochasticBusinessProcessModelAndNotation
impl StochasticBusinessProcessModelAndNotation
pub fn is_structurally_correct(&self) -> Result<(), Error>
Source§impl StochasticBusinessProcessModelAndNotation
impl StochasticBusinessProcessModelAndNotation
pub fn import_from_reader( reader: &mut dyn BufRead, ) -> Result<StochasticBusinessProcessModelAndNotation, Error>
pub fn number_of_elements(&self) -> usize
pub fn number_of_message_flows(&self) -> usize
Sourcepub fn elements(&self) -> Vec<&BPMNElement>
pub fn elements(&self) -> Vec<&BPMNElement>
returns all elements in the model (recursively)
pub fn parent_of(&self, global_index: (usize, ())) -> Option<&dyn Processable>
Sourcepub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
pub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
Returns all sequence flows (recursive)
Sourcepub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>
pub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>
find an element with the given index
Sourcepub fn global_index_2_element_mut(
&mut self,
index: (usize, ()),
) -> Option<&mut BPMNElement>
pub fn global_index_2_element_mut( &mut self, index: (usize, ()), ) -> Option<&mut BPMNElement>
find an element with the given index
Sourcepub fn index_2_object(&self, index: (usize, ())) -> Option<&dyn BPMNObject>
pub fn index_2_object(&self, index: (usize, ())) -> Option<&dyn BPMNObject>
find the object of the given index
Sourcepub fn message_flow_index_2_source(
&self,
message_flow_index: usize,
) -> Result<&BPMNElement, Error>
pub fn message_flow_index_2_source( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>
return the element that is the source of the given message flow
Sourcepub fn message_flow_index_2_target(
&self,
message_flow_index: usize,
) -> Result<&BPMNElement, Error>
pub fn message_flow_index_2_target( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>
return the element that is the target of the given message flow
Sourcepub fn global_index_2_sequence_flow_and_parent(
&self,
sequence_flow_global_index: (usize, ()),
) -> Option<(&BPMNSequenceFlow, &dyn Processable)>
pub fn global_index_2_sequence_flow_and_parent( &self, sequence_flow_global_index: (usize, ()), ) -> Option<(&BPMNSequenceFlow, &dyn Processable)>
return the sequence flow with the given global index
pub fn transition_debug( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<String>
Sourcepub fn transition_2_marked_sequence_flows<'a>(
&'a mut self,
marking: &BPMNMarking,
transition_index: usize,
) -> Option<Vec<(usize, ())>>
pub fn transition_2_marked_sequence_flows<'a>( &'a mut self, marking: &BPMNMarking, transition_index: usize, ) -> Option<Vec<(usize, ())>>
Returns the global indices of sequence flows that get a token by executing this transition.
Sourcepub fn global_index_2_sequence_flow_mut(
&mut self,
sequence_flow_global_index: (usize, ()),
) -> Option<&mut BPMNSequenceFlow>
pub fn global_index_2_sequence_flow_mut( &mut self, sequence_flow_global_index: (usize, ()), ) -> Option<&mut BPMNSequenceFlow>
return the sequence flow with this index, if it exists (recurses)
Trait Implementations§
Source§impl Clone for StochasticBusinessProcessModelAndNotation
impl Clone for StochasticBusinessProcessModelAndNotation
Source§fn clone(&self) -> StochasticBusinessProcessModelAndNotation
fn clone(&self) -> StochasticBusinessProcessModelAndNotation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation
impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation
Source§fn from(
value: StochasticBusinessProcessModelAndNotation,
) -> BusinessProcessModelAndNotation
fn from( value: StochasticBusinessProcessModelAndNotation, ) -> BusinessProcessModelAndNotation
Converts to this type from the input type.
Source§impl Graphable for StochasticBusinessProcessModelAndNotation
impl Graphable for StochasticBusinessProcessModelAndNotation
fn to_dot(&self) -> Result<VisualGraph>
Source§impl HasActivityKey for StochasticBusinessProcessModelAndNotation
impl HasActivityKey for StochasticBusinessProcessModelAndNotation
fn activity_key(&self) -> &ActivityKey
fn activity_key_mut(&mut self) -> &mut ActivityKey
Source§impl Importable for StochasticBusinessProcessModelAndNotation
impl Importable for StochasticBusinessProcessModelAndNotation
Source§const IMPORTER_PARAMETERS: &[ImporterParameter]
const IMPORTER_PARAMETERS: &[ImporterParameter]
Defines the parameters that the importer expects.
Source§const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A stochastic Business Process Model and Notation (BPMN) model follows the OMG 2.0.2 standard~\\cite{omg2011bpmn}.
In addition, certain sequence flows must have <weight constant=\"..\"> tags in the namespace https://www.ebitools.org/sbpmn/20260305.
Currently, a sub-set of elements is supported."
const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A stochastic Business Process Model and Notation (BPMN) model follows the OMG 2.0.2 standard~\\cite{omg2011bpmn}. In addition, certain sequence flows must have <weight constant=\"..\"> tags in the namespace https://www.ebitools.org/sbpmn/20260305. Currently, a sub-set of elements is supported."
A latex piece that describes the file format.
fn import_as_object( reader: &mut dyn BufRead, parameter_values: &ImporterParameterValues, ) -> Result<EbiObject>
Source§fn import(
reader: &mut dyn BufRead,
_parameter_values: &ImporterParameterValues,
) -> Result<Self>where
Self: Sized,
fn import(
reader: &mut dyn BufRead,
_parameter_values: &ImporterParameterValues,
) -> Result<Self>where
Self: Sized,
Attempts to import from the reader.
The parameter_values must match the order given in
IMPORTER_PARAMETERS.fn default_importer_parameter_values() -> ImporterParameterValues
Source§impl TranslateActivityKey for StochasticBusinessProcessModelAndNotation
impl TranslateActivityKey for StochasticBusinessProcessModelAndNotation
Source§fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)
fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)
Change the activity key of this object, by translating all mentions of activities to the new activity key (which will be updated with activity labels it did not have yet.).
This is a potentially expensive operation. If only a part of the activities will be used, then consider using an ActivityKeyTranslator directly.
The activity key of this object will be updated too, so the activity keys will be equivalent afterwards.
Source§impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation
impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation
Source§fn try_from(
value: BusinessProcessModelAndNotation,
) -> Result<StochasticBusinessProcessModelAndNotation, <StochasticBusinessProcessModelAndNotation as TryFrom<BusinessProcessModelAndNotation>>::Error>
fn try_from( value: BusinessProcessModelAndNotation, ) -> Result<StochasticBusinessProcessModelAndNotation, <StochasticBusinessProcessModelAndNotation as TryFrom<BusinessProcessModelAndNotation>>::Error>
Attempt to transform a BPMN model into an SBPMN model. This is possible if the appropriate sequence flows are annotated with weights.
Auto Trait Implementations§
impl Freeze for StochasticBusinessProcessModelAndNotation
impl RefUnwindSafe for StochasticBusinessProcessModelAndNotation
impl Send for StochasticBusinessProcessModelAndNotation
impl Sync for StochasticBusinessProcessModelAndNotation
impl Unpin for StochasticBusinessProcessModelAndNotation
impl UnsafeUnpin for StochasticBusinessProcessModelAndNotation
impl UnwindSafe for StochasticBusinessProcessModelAndNotation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
fn rounding_into(self, rm: RoundingMode) -> (U, Ordering)
Source§impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
fn saturating_into(self) -> U
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.Source§impl<T> ToDebugString for Twhere
T: Debug,
impl<T> ToDebugString for Twhere
T: Debug,
Source§fn to_debug_string(&self) -> String
fn to_debug_string(&self) -> String
Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.