A B C D E F G H I L M N O P R S T U V
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- AbstractState<T> - Class in io.github.contractautomata.catlib.automaton.state
-
Class implementing an abstract state of an automaton.
- AbstractState(T) - Constructor for class io.github.contractautomata.catlib.automaton.state.AbstractState
-
Constructs an abstract state from its label (content).
- Action - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing an action of a label.
- Action(String) - Constructor for class io.github.contractautomata.catlib.automaton.label.action.Action
-
Constructor for an action.
- ACTION_SEPARATOR - Static variable in class io.github.contractautomata.catlib.automaton.label.action.Address
-
constant symbol used for separating the address from the action
- Address - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing the address of an action.
- Address(String, String) - Constructor for class io.github.contractautomata.catlib.automaton.label.action.Address
-
Constructor for an address
- AddressedAction - Interface in io.github.contractautomata.catlib.automaton.label.action
-
Interface for an addressed action.
- AddressedOfferAction - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing an addressed offer action.
- AddressedOfferAction(String, Address) - Constructor for class io.github.contractautomata.catlib.automaton.label.action.AddressedOfferAction
-
Constructor for an addressed offer action
- AddressedRequestAction - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing an addressed request action.
- AddressedRequestAction(String, Address) - Constructor for class io.github.contractautomata.catlib.automaton.label.action.AddressedRequestAction
-
Constructor for an addressed request action
- Agreement - Class in io.github.contractautomata.catlib.requirements
-
The predicate of Agreement over CALabels.
- Agreement() - Constructor for class io.github.contractautomata.catlib.requirements.Agreement
- apply(int) - Method in class io.github.contractautomata.catlib.operations.CompositionFunction
-
This is one of the main functionalities of the library.
- apply(A) - Method in class io.github.contractautomata.catlib.operations.ModelCheckingSynthesisOperator
-
Applies the model checking and synthesis operator.
- apply(A) - Method in class io.github.contractautomata.catlib.operations.SynthesisOperator
-
This method applies the synthesis operator to aut.
- apply(Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, CALabel>>) - Method in class io.github.contractautomata.catlib.operations.ChoreographySynthesisOperator
-
Applies the choreography synthesis operator to aut
- apply(Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, CALabel>>) - Method in class io.github.contractautomata.catlib.operations.MpcSynthesisOperator
-
Applies the mpc synthesis to aut.
- apply(Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, CALabel>>) - Method in class io.github.contractautomata.catlib.operations.OrchestrationSynthesisOperator
-
Applies the orchestration synthesis to aut.
- apply(Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, CALabel>>) - Method in class io.github.contractautomata.catlib.operations.ProductOrchestrationSynthesisOperator
-
Apply the product orchestration synthesis operator to aut.
- apply(Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, CALabel>>, Integer, ToIntFunction<ModalTransition<S1, Action, State<S1>, CALabel>>) - Method in class io.github.contractautomata.catlib.operations.ProjectionFunction
-
Apply the projection function.
- apply(Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, L>>) - Method in class io.github.contractautomata.catlib.operations.RelabelingOperator
-
This method applies the relabeling operator.
- apply(List<Automaton<String, Action, State<String>, ModalTransition<String, Action, State<String>, CALabel>>>) - Method in class io.github.contractautomata.catlib.operations.UnionFunction
-
Compute the union function.
- apply(Set<Product>) - Method in class io.github.contractautomata.catlib.family.PartialProductGenerator
-
This operator takes in input a set of total products (with all features assigned), and returns a set of products comprehending total products and partial products (not all features assigned).
This operator is similar to the Quine-McCluskey algorithm.
Given two products p1 p2 identical but for a feature f activated in one and deactivated in the other, a super product (a.k.a. - apply(T, U, V) - Method in interface io.github.contractautomata.catlib.operations.interfaces.TriFunction
- apply(T, U, V, W) - Method in interface io.github.contractautomata.catlib.operations.interfaces.TetraFunction
- AutConverter<A1 extends Automaton<?,?,?,?>,A2 extends Automaton<?,?,?,?>> - Interface in io.github.contractautomata.catlib.converters
-
The interface used to import/export automata.
- AutDataConverter<L extends Label<Action>> - Class in io.github.contractautomata.catlib.converters
-
This class supports the conversion of an automaton into a textual format, with extension
.data
. - AutDataConverter(Function<List<Action>, L>) - Constructor for class io.github.contractautomata.catlib.converters.AutDataConverter
-
Constructor.
- Automaton<S1,L1,S extends State<S1>,T extends Transition<S1,L1,S,? extends Label<L1>>> - Class in io.github.contractautomata.catlib.automaton
-
This class implements an automaton.
- Automaton(Set<T>) - Constructor for class io.github.contractautomata.catlib.automaton.Automaton
-
This constructor builds an automaton from its set of transitions.
B
- BasicState<T> - Class in io.github.contractautomata.catlib.automaton.state
-
Class implementing a BasicState of an Automaton.
- BasicState(T, Boolean, Boolean) - Constructor for class io.github.contractautomata.catlib.automaton.state.BasicState
-
Constructor for a BasicState.
C
- CALabel - Class in io.github.contractautomata.catlib.automaton.label
-
Class implementing a label of a Contract Automaton, by extending the super class
Label
. - CALabel(Integer, Integer, Action) - Constructor for class io.github.contractautomata.catlib.automaton.label.CALabel
-
Constructor only used for requests or offer actions, i.e., only one principal is moving.
- CALabel(List<Action>) - Constructor for class io.github.contractautomata.catlib.automaton.label.CALabel
-
Constructor using a list of strings.
- checkForbidden(Set<? extends ModalTransition<String, Action, State<String>, CALabel>>) - Method in class io.github.contractautomata.catlib.family.Product
-
Returns true if all forbidden actions of this product are not available in the transitions tr, i.e, all features name are not equal to any of the content of the actions of the transitions in tr.
- checkRequired(Set<? extends ModalTransition<S1, Action, State<S1>, CALabel>>) - Method in class io.github.contractautomata.catlib.family.Product
-
Returns true if all required actions are available in the transitions tr, i.e, all features name of this product are equal to the content of some action of some transition in tr.
- ChoreographySynthesisOperator<S1> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the Choreography Synthesis.
- ChoreographySynthesisOperator(Predicate<CALabel>) - Constructor for class io.github.contractautomata.catlib.operations.ChoreographySynthesisOperator
-
Constructor for the choreography synthesis operator enforcing the requirement req.
- ChoreographySynthesisOperator(Predicate<CALabel>, Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, Label<Action>>>) - Constructor for class io.github.contractautomata.catlib.operations.ChoreographySynthesisOperator
-
Constructor for the choreography synthesis operator enforcing the requirement req and property prop.
- ChoreographySynthesisOperator(Predicate<CALabel>, Function<Stream<ModalTransition<S1, Action, State<S1>, CALabel>>, Optional<ModalTransition<S1, Action, State<S1>, CALabel>>>) - Constructor for class io.github.contractautomata.catlib.operations.ChoreographySynthesisOperator
-
Constructor for the choreography synthesis operator enforcing the requirement req.
- CompositionFunction<S1,S extends State<S1>,L extends Label<Action>,T extends ModalTransition<S1,Action,S,L>,A extends Automaton<S1,Action,S,T>> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the Composition Function.
- CompositionFunction(List<A>, BiPredicate<L, L>, Function<List<BasicState<S1>>, S>, TetraFunction<S, L, S, ModalTransition.Modality, T>, Function<List<Action>, L>, Function<Set<T>, A>, Predicate<L>) - Constructor for class io.github.contractautomata.catlib.operations.CompositionFunction
-
Constructor for a composition function.
D
- DimacsFamilyConverter - Class in io.github.contractautomata.catlib.family.converters
-
Class for importing and exporting DIMACS CNF models as families of products.
- DimacsFamilyConverter(boolean) - Constructor for class io.github.contractautomata.catlib.family.converters.DimacsFamilyConverter
-
Constructor for this converter.
E
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.action.Action
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.action.Address
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedOfferAction
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedRequestAction
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.action.OfferAction
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.action.RequestAction
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.family.Family
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.family.Feature
-
Overrides the method of the object class
- equals(Object) - Method in class io.github.contractautomata.catlib.family.Product
-
Overrides the method of the object class
- exportFamily(String, Family) - Method in class io.github.contractautomata.catlib.family.converters.DimacsFamilyConverter
-
Operation not supported.
- exportFamily(String, Family) - Method in interface io.github.contractautomata.catlib.family.converters.FamilyConverter
-
Stores the content of the family fam in the file filename.
- exportFamily(String, Family) - Method in class io.github.contractautomata.catlib.family.converters.FeatureIDEfamilyConverter
-
Overrides the method of FamilyConverter.
- exportFamily(String, Family) - Method in class io.github.contractautomata.catlib.family.converters.ProdFamilyConverter
-
Overrides the method of FamilyConverter
- exportMSCA(String, A2) - Method in interface io.github.contractautomata.catlib.converters.AutConverter
-
This method is used to store an automaton into a file
- exportMSCA(String, Automaton<?, ?, ?, ?>) - Method in class io.github.contractautomata.catlib.converters.AutDataConverter
-
Store the automaton passed as argument in a
.data
format.
F
- Family - Class in io.github.contractautomata.catlib.family
-
Class implementing a family of products (i.e., a product line).
- Family(Set<Product>) - Constructor for class io.github.contractautomata.catlib.family.Family
-
Constructor of a family from a set of products.
- Family(Set<Product>, BiPredicate<Product, Product>, BiFunction<Product, Product, Integer>) - Constructor for class io.github.contractautomata.catlib.family.Family
-
Constructor of a family from a set of products, and the predicates for the partial order.
- FamilyConverter - Interface in io.github.contractautomata.catlib.family.converters
-
This is the interface to be implemented for importing/exporting a family.
- Feature - Class in io.github.contractautomata.catlib.family
-
Class implementing a feature of product.
- Feature(String) - Constructor for class io.github.contractautomata.catlib.family.Feature
-
Constructor for a feature
- FeatureIDEfamilyConverter - Class in io.github.contractautomata.catlib.family.converters
-
Class implementing import/export of products generated by FeatureIDE.
- FeatureIDEfamilyConverter() - Constructor for class io.github.contractautomata.catlib.family.converters.FeatureIDEfamilyConverter
- FMCA - Class in io.github.contractautomata.catlib.family
-
Class implementing a Featured Modal Contract Automaton (FMCA).
- FMCA(Automaton<String, Action, State<String>, ModalTransition<String, Action, State<String>, CALabel>>, Family) - Constructor for class io.github.contractautomata.catlib.family.FMCA
-
Constructor for an FMCA from an automaton and a family.
- FMCA(Automaton<String, Action, State<String>, ModalTransition<String, Action, State<String>, CALabel>>, Set<Product>) - Constructor for class io.github.contractautomata.catlib.family.FMCA
-
This constructor instantiates the family of products by performing a pre-processing, to polish the set of products prod given as argument.
G
- getAction() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
If the label is a request it returns the requests action, if it is an offer or match returns the offer action.
- getAction() - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
This method requires a label to be a list of actions, and requires the actions in the label to be either idle or not, all actions that are not idle must be equals, and at least one action must not be idle.
- getAddress() - Method in interface io.github.contractautomata.catlib.automaton.label.action.AddressedAction
-
Returns the address of this object
- getAddress() - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedOfferAction
-
Getter of the address of this action
- getAddress() - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedRequestAction
-
Getter of the address of this action
- getAut() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Getter of the automaton.
- getBasicStates() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Returns a map where for each entry the key is the index of principal, and the value is its set of basic states.
- getCanonicalProducts() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Returns the canonical products of this FMCA.
- getChangeLabel() - Method in class io.github.contractautomata.catlib.operations.ModelCheckingSynthesisOperator
-
Getter of the function changeLabel.
- getCoAction() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns the complementary action of the one returned by getAction().
- getContent() - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
Getter of the content of this label
- getCreateAut() - Method in class io.github.contractautomata.catlib.operations.SynthesisOperator
-
Getter of the function for creating an automaton.
- getFamily() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Getter of the family.
- getForbidden() - Method in class io.github.contractautomata.catlib.family.Product
-
Getter of the set of forbidden features.
- getForbiddenAndRequiredNumber() - Method in class io.github.contractautomata.catlib.family.Product
-
Returns the number of forbidden and required features of this product.
- getForwardStar(AbstractState<?>) - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Returns the set of transitions outgoing from the state source
- getInitial() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Returns the unique initial state
- getLabel() - Method in class io.github.contractautomata.catlib.automaton.label.action.Action
-
Getter of the content of this action
- getLabel() - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Getter of label
- getMaximalProducts() - Method in class io.github.contractautomata.catlib.family.Family
-
Returns all maximal products p s.t.
- getMaximumDepth() - Method in class io.github.contractautomata.catlib.family.Family
-
Returns the maximum number of features available for a product in this product-line, i.e., the maximum depth of the partial order.
- getModality() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Getter of modality
- getName() - Method in class io.github.contractautomata.catlib.family.Feature
-
Getter of the name of the feature
- getNumStates() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
It returns the number of states of the automaton.
- getOfferer() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns the index of the principal performing the offer action.
- getOffererOrRequester() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns the index of the offerer or requester.
- getOrchestrationOfFamily() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Returns the orchestration of the family as the union of orchestrations of canonical products.
- getOrchestrationOfFamilyEnumerative() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Returns the orchestration of the family as the union of orchestrations of total products.
- getPo() - Method in class io.github.contractautomata.catlib.family.Family
-
Getter of the partial order of products.
- getProducts() - Method in class io.github.contractautomata.catlib.family.Family
-
Getter of the set of products.
- getPruningPred() - Method in class io.github.contractautomata.catlib.operations.CompositionFunction
-
Getter of the pruning predicate.
- getRank() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Method inherited from the interface Ranked.
- getRank() - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
Method inherited from the interface Ranked.
- getRank() - Method in interface io.github.contractautomata.catlib.automaton.Ranked
-
Returns the rank of this object
- getRank() - Method in class io.github.contractautomata.catlib.automaton.state.BasicState
-
Method inherited from the interface Ranked.
- getRank() - Method in class io.github.contractautomata.catlib.automaton.state.State
-
Method inherited from the interface Ranked.
- getRank() - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Method inherited from the interface Ranked.
- getReq() - Method in class io.github.contractautomata.catlib.operations.SynthesisOperator
-
Getter of the requirement.
- getRequester() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns the index of the principal performing the request action.
- getRequired() - Method in class io.github.contractautomata.catlib.family.Product
-
Getter of the set of required features.
- getSource() - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Getter of source state
- getState() - Method in class io.github.contractautomata.catlib.automaton.state.AbstractState
-
Getter of the content (of type T) of the state
- getState() - Method in class io.github.contractautomata.catlib.automaton.state.State
-
Getter of the content of this state
- getStates() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Returns the states of the automaton.
- getSubProductsNotClosedTransitively(Product) - Method in class io.github.contractautomata.catlib.family.Family
-
Returns the sub-products of prod not closed transitively.
- getSubProductsOfProduct(Product) - Method in class io.github.contractautomata.catlib.family.Family
-
Returns the sub-products of prod.
- getSuperProductsOfProduct(Product) - Method in class io.github.contractautomata.catlib.family.Family
-
Returns the super-products of prod.
- getTarget() - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Getter of target state
- getTotalProductsWithNonemptyOrchestration() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Returns a map pairing a product with its non-empty orchestration in agreement.
- getTransition() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Getter of the set of transitions
H
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.action.Action
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.action.Address
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedOfferAction
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedRequestAction
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.action.OfferAction
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.action.RequestAction
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.family.Family
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.family.Feature
-
Overrides the method of the object class
- hashCode() - Method in class io.github.contractautomata.catlib.family.Product
-
Overrides the method of the object class
I
- ID_SEPARATOR - Static variable in class io.github.contractautomata.catlib.automaton.label.action.Address
-
constant symbol used for separating the sender from the receiver
- IDLE - Static variable in class io.github.contractautomata.catlib.automaton.label.action.IdleAction
-
Constant symbol denoting an idle action
- IdleAction - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing an idle action.
- IdleAction() - Constructor for class io.github.contractautomata.catlib.automaton.label.action.IdleAction
-
Constructor for an idle action
- importMSCA(String) - Method in interface io.github.contractautomata.catlib.converters.AutConverter
-
This method is used to import an automaton of type A1 stored in a file
- importMSCA(String) - Method in class io.github.contractautomata.catlib.converters.AutDataConverter
-
Impor an automaton from a textual representation
- importProducts(String) - Method in class io.github.contractautomata.catlib.family.converters.DimacsFamilyConverter
-
Overrides the FamilyConverter method.
- importProducts(String) - Method in interface io.github.contractautomata.catlib.family.converters.FamilyConverter
-
Returns a set of products loaded from filename, representing a family of products, imported from filename.
- importProducts(String) - Method in class io.github.contractautomata.catlib.family.converters.FeatureIDEfamilyConverter
-
Import the list of products generated through FeatureIDE.
- importProducts(String) - Method in class io.github.contractautomata.catlib.family.converters.ProdFamilyConverter
-
Overrides the method of FamilyConverter
- io.github.contractautomata.catlib.automaton - package io.github.contractautomata.catlib.automaton
-
The automaton package contains the class implementing an automaton.
EachAutomaton
has a set of transitions, a set of states, an initial state and a set of final states.
To be composable, an Automaton implements the interfaceRanked
. - io.github.contractautomata.catlib.automaton.label - package io.github.contractautomata.catlib.automaton.label
-
The label package groups classes related to labels of automata.
Label
is the super class having a content that is a tuple of a generic type. - io.github.contractautomata.catlib.automaton.label.action - package io.github.contractautomata.catlib.automaton.label.action
-
The action package groups the classes implementing actions of labels.
Action
is the super class from which the other actions are inheriting.
In Contract Automata, an action can be either anOfferAction
, aRequestAction
or anIdleAction
(i.e., nil action).
Actions are matchable and a request action matches an offer action (and vice-versa) if both have the same label.
Actions can have anAddress
, in this case implementing the interfaceAddressedAction
. - io.github.contractautomata.catlib.automaton.state - package io.github.contractautomata.catlib.automaton.state
-
The state package groups the classes implementing states of automata.
AbstractState
is the (abstract) super class, where a state can be initial or final and has a label.
ABasicState
implements anAbstractState
of a single participant, it has rank 1 and the label of the
state cannot have further inner components.
AState
implements anAbstractState
with a rank: it is a list of basic states.
Class diagram of this package:
- io.github.contractautomata.catlib.automaton.transition - package io.github.contractautomata.catlib.automaton.transition
-
The transition package groups the transitions of an automaton.
Transition
is the super class, it has a source and target states and a label.
ModalTransition
extendsTransition
to include modalities.
Modalities of Contract Automata are permicodeed and necessary.
A necessary transition has a label that must be match in a composition whilst a permicodeed transition can be withdrawn.
Necessary transitions can be further distinguished between urgent and lazy, where urgent is the classic
notion of uncontrollability, whereas lazy is a novel notion introduced in contract automata.
Lazy transitions can be either controllable or uncontrollable, according to a given predicate evaluated
on the whole automaton to which this transition belongs to.
Class diagram of this package:
- io.github.contractautomata.catlib.converters - package io.github.contractautomata.catlib.converters
-
The converters package contains the classes for I/O operations (import/export).
- io.github.contractautomata.catlib.family - package io.github.contractautomata.catlib.family
-
The family package groups together the functionalities that extend
contract automata to product lines.
Featured Modal Contract Automata (FMCA) is the name of this extension. - io.github.contractautomata.catlib.family.converters - package io.github.contractautomata.catlib.family.converters
-
The family.converters package groups the I/O operations of import/export
of a product line. - io.github.contractautomata.catlib.operations - package io.github.contractautomata.catlib.operations
-
This package groups the various operations that can be performed on automata.
- io.github.contractautomata.catlib.operations.interfaces - package io.github.contractautomata.catlib.operations.interfaces
-
This package groups auxiliary interfaces not primitively available in the JDK.
Class diagram of this package:
- io.github.contractautomata.catlib.requirements - package io.github.contractautomata.catlib.requirements
-
This package groups the invariant requirements that can be enforced in a contract automaton.
- isFinalState() - Method in class io.github.contractautomata.catlib.automaton.state.AbstractState
-
Returns true if the state is final
- isFinalState() - Method in class io.github.contractautomata.catlib.automaton.state.BasicState
-
Returns true if the state is final
- isFinalState() - Method in class io.github.contractautomata.catlib.automaton.state.State
-
Returns true if the state is final
- isForbidden(CALabel) - Method in class io.github.contractautomata.catlib.family.Product
-
Returns true if the action of l is equal to some name of a forbidden feature.
- isFrontierEmpty() - Method in class io.github.contractautomata.catlib.operations.CompositionFunction
-
Returns true if no states are left to be generated, i.e., the whole depth of the composition has been generated.
- isInitial() - Method in class io.github.contractautomata.catlib.automaton.state.AbstractState
-
Returns true if the state is initial
- isInitial() - Method in class io.github.contractautomata.catlib.automaton.state.BasicState
-
Returns true if the state is initial
- isInitial() - Method in class io.github.contractautomata.catlib.automaton.state.State
-
Returns true if the state is initial
- isLazy() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Returns true if the transition is lazy
- isMatch() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns true if the action is a match
- isNecessary() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Returns true if the transition is necessary
- isOffer() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns true if the action is an offer
- isPermitted() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Returns true if the transition is permitted
- isRequest() - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Returns true if the action is a request
- isUncontrollable(Set<? extends ModalTransition<S1, Action, S, CALabel>>, Set<State<S1>>, BiPredicate<ModalTransition<S1, Action, S, CALabel>, ModalTransition<S1, L1, S, L>>) - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Returns true if the transition is uncontrollable.
- isUrgent() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Returns true if the transition is urgent
- isValid(Automaton<String, Action, State<String>, ModalTransition<String, Action, State<String>, CALabel>>) - Method in class io.github.contractautomata.catlib.family.Product
-
Returns true if the set of transitions of aut satisfies this.checkForbidden and this.checkRequired
L
- Label<T> - Class in io.github.contractautomata.catlib.automaton.label
-
Class representing a Label of a transition.
- Label(List<T>) - Constructor for class io.github.contractautomata.catlib.automaton.label.Label
-
Constructor for a label
- LAZY - io.github.contractautomata.catlib.automaton.transition.ModalTransition.Modality
-
the lazy modality
- LAZY - Static variable in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Constant symbol denoting a lazy modality
M
- match(Action) - Method in class io.github.contractautomata.catlib.automaton.label.action.Action
-
Implementation of the interface Matchable.
- match(Action) - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedOfferAction
-
Redefinition of the match of an action.
- match(Action) - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedRequestAction
-
Redefinition of the match of an action.
- match(Action) - Method in class io.github.contractautomata.catlib.automaton.label.action.OfferAction
-
An offer action matches a request action with the same label.
- match(Action) - Method in class io.github.contractautomata.catlib.automaton.label.action.RequestAction
-
A request action matches an offer action with the same label.
- match(Address) - Method in class io.github.contractautomata.catlib.automaton.label.action.Address
-
Two addresses are matching if they have the same sender and receiver.
- match(Label<Action>) - Method in class io.github.contractautomata.catlib.automaton.label.CALabel
-
Implementation of the match method of interface Matchable.
- match(Label<T>) - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
Implementation of the match method of the Matchable interface.
- match(T) - Method in interface io.github.contractautomata.catlib.automaton.label.Matchable
-
Returns true if this object matches with arg
- Matchable<T> - Interface in io.github.contractautomata.catlib.automaton.label
-
Interface for a matchable element.
- ModalTransition<S1,L1,S extends State<S1>,L extends Label<L1>> - Class in io.github.contractautomata.catlib.automaton.transition
-
Class implementing a Modal Transition of an Automaton.
- ModalTransition(S, L, S, ModalTransition.Modality) - Constructor for class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Constructing a modal transition from the source, target states, the label and the modality.
- ModalTransition.Modality - Enum in io.github.contractautomata.catlib.automaton.transition
-
The enum of possible modalities of a transition
- ModelCheckingFunction<S1,S extends State<S1>,L extends Label<Action>,T extends ModalTransition<S1,Action,S,L>,A extends Automaton<S1,Action,S,T>> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the Model Checking Function.
- ModelCheckingFunction(A, A, Function<List<BasicState<S1>>, S>, TetraFunction<S, L, S, ModalTransition.Modality, T>, Function<List<Action>, L>, Function<Set<T>, A>) - Constructor for class io.github.contractautomata.catlib.operations.ModelCheckingFunction
-
The constructor of a model checking function.
The match function ofCompositionFunction
is instantiated to match two labels with the same action content (in the style of a synchronous product). - ModelCheckingSynthesisOperator<S1,S extends State<S1>,L extends L2,T extends ModalTransition<S1,Action,S,L>,A extends Automaton<S1,Action,S,T>,L2 extends Label<Action>,T2 extends ModalTransition<S1,Action,S,L2>,A2 extends Automaton<S1,Action,S,T2>> - Class in io.github.contractautomata.catlib.operations
-
This class implements a model checking operation followed by a synthesis operation.
- ModelCheckingSynthesisOperator(TriPredicate<T, Set<T>, Set<S>>, TriPredicate<T, Set<T>, Set<S>>, Predicate<L>, A2, UnaryOperator<L>, Function<Set<T>, A>, Function<List<Action>, L>, TetraFunction<S, L, S, ModalTransition.Modality, T>, Function<List<BasicState<S1>>, S>, Function<List<Action>, L2>, TetraFunction<S, L2, S, ModalTransition.Modality, T2>, Function<Set<T2>, A2>) - Constructor for class io.github.contractautomata.catlib.operations.ModelCheckingSynthesisOperator
-
Constructor for a model checking synthesis operator, it requires also the constructors for the used generic types.
- ModelCheckingSynthesisOperator(TriPredicate<T, Set<T>, Set<S>>, Predicate<L>, A2, UnaryOperator<L>, Function<Set<T>, A>, Function<List<Action>, L>, TetraFunction<S, L, S, ModalTransition.Modality, T>, Function<List<BasicState<S1>>, S>, Function<List<Action>, L2>, TetraFunction<S, L2, S, ModalTransition.Modality, T2>, Function<Set<T2>, A2>) - Constructor for class io.github.contractautomata.catlib.operations.ModelCheckingSynthesisOperator
-
Constructor for a model checking synthesis operator, it requires also the constructors for the used generic types.
In this constructor the pruning predicate is set to always return false. - ModelCheckingSynthesisOperator(TriPredicate<T, Set<T>, Set<S>>, Predicate<L>, Function<Set<T>, A>, Function<List<Action>, L>, TetraFunction<S, L, S, ModalTransition.Modality, T>, Function<List<BasicState<S1>>, S>) - Constructor for class io.github.contractautomata.catlib.operations.ModelCheckingSynthesisOperator
-
Constructor for a model checking synthesis operator.
- MpcSynthesisOperator<S1> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the most permissive controller synthesis operator.
The implemented algorithm is formally specified in Definition 2.3 and Theorem 5.3 of Basile, D., et al., 2020. - MpcSynthesisOperator(Predicate<CALabel>) - Constructor for class io.github.contractautomata.catlib.operations.MpcSynthesisOperator
-
Constructor for the mpc synthesis enforcing the requirement req.
- MpcSynthesisOperator(Predicate<CALabel>, Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, Label<Action>>>) - Constructor for class io.github.contractautomata.catlib.operations.MpcSynthesisOperator
-
Constructor for the mpc synthesis enforcing the requirement req and property prop.
- MSCACompositionFunction<S1> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the composition of Contract Automata.
- MSCACompositionFunction(List<Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, CALabel>>>, Predicate<CALabel>) - Constructor for class io.github.contractautomata.catlib.operations.MSCACompositionFunction
-
Invokes the constructor of the superclass instantiating the generic types
N
- NECESSARY - Static variable in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Constant symbol denoting a necessary modality
O
- OFFER - Static variable in class io.github.contractautomata.catlib.automaton.label.action.OfferAction
-
Constant symbol denoting an offer
- OfferAction - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing an offer action.
- OfferAction(String) - Constructor for class io.github.contractautomata.catlib.automaton.label.action.OfferAction
-
Constructor for an offer action
- OrchestrationSynthesisOperator<S1> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the orchestration synthesis operator.
The implemented algorithm is formally specified in Definition 3.2 and Theorem 5.4 of Basile, D., et al., 2020. - OrchestrationSynthesisOperator(Predicate<CALabel>) - Constructor for class io.github.contractautomata.catlib.operations.OrchestrationSynthesisOperator
-
Constructor for the orchestration synthesis operator enforcing the requirement req.
- OrchestrationSynthesisOperator(Predicate<CALabel>, Automaton<S1, Action, State<S1>, ModalTransition<S1, Action, State<S1>, Label<Action>>>) - Constructor for class io.github.contractautomata.catlib.operations.OrchestrationSynthesisOperator
-
Constructor for the orchestration synthesis operator enforcing the requirement req and property prop.
P
- parseAction(String) - Method in interface io.github.contractautomata.catlib.converters.AutConverter
-
This method provides facilities for parsing a string encoding a textual representation of an action into an object Action.
- PartialProductGenerator - Class in io.github.contractautomata.catlib.family
-
Class implementing the partial product generation operator.
- PartialProductGenerator() - Constructor for class io.github.contractautomata.catlib.family.PartialProductGenerator
- PERMITTED - io.github.contractautomata.catlib.automaton.transition.ModalTransition.Modality
-
the permitted modality
- ProdFamilyConverter - Class in io.github.contractautomata.catlib.family.converters
-
Class implementing import/export from the
.prod
textual format. - ProdFamilyConverter() - Constructor for class io.github.contractautomata.catlib.family.converters.ProdFamilyConverter
- Product - Class in io.github.contractautomata.catlib.family
-
A configuration/product of a product line/family, identified as set of required and forbidden features.
- Product(String[], String[]) - Constructor for class io.github.contractautomata.catlib.family.Product
-
Constructor for a product from arrays of Strings
- Product(Set<Feature>, Set<Feature>) - Constructor for class io.github.contractautomata.catlib.family.Product
-
Constructor for a product from sets of features
- ProductOrchestrationSynthesisOperator<S1> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the orchestration synthesis for a specific product of a product line.
- ProductOrchestrationSynthesisOperator(Predicate<CALabel>, Product) - Constructor for class io.github.contractautomata.catlib.operations.ProductOrchestrationSynthesisOperator
-
The constructor for the product orchestration synthesis operator.
- productsRespectingValidity() - Method in class io.github.contractautomata.catlib.family.FMCA
-
Returns the set of products respecting validity.
- productsWithNonEmptyOrchestration() - Method in class io.github.contractautomata.catlib.family.FMCA
-
The set of products with non-empty orchestration in agreement.
- ProjectionFunction<S1> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the projection function.
- ProjectionFunction() - Constructor for class io.github.contractautomata.catlib.operations.ProjectionFunction
-
Constructor of a projection function.
- ProjectionFunction(boolean) - Constructor for class io.github.contractautomata.catlib.operations.ProjectionFunction
-
Constructor for a projection function.
R
- Ranked - Interface in io.github.contractautomata.catlib.automaton
-
This interface is implemented by ranked elements.
- RelabelingOperator<S1,L extends Label<Action>> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the relabeling operator.
- RelabelingOperator(Function<List<Action>, L>, UnaryOperator<S1>, Predicate<BasicState<S1>>, Predicate<BasicState<S1>>) - Constructor for class io.github.contractautomata.catlib.operations.RelabelingOperator
-
Constructor for the relabeling operator.
- removeFeatures(Set<Feature>) - Method in class io.github.contractautomata.catlib.family.Product
-
Returns a new product where the features in sf have been removed (from both required and forbidden features).
- REQUEST - Static variable in class io.github.contractautomata.catlib.automaton.label.action.RequestAction
-
Constant symbol denoting a request
- RequestAction - Class in io.github.contractautomata.catlib.automaton.label.action
-
Class implementing a request action.
- RequestAction(String) - Constructor for class io.github.contractautomata.catlib.automaton.label.action.RequestAction
-
Constructor for a request action
S
- satisfiesBranchingCondition(ModalTransition<S1, Action, State<S1>, CALabel>, Set<ModalTransition<S1, Action, State<S1>, CALabel>>, Set<State<S1>>) - Method in class io.github.contractautomata.catlib.operations.ChoreographySynthesisOperator
-
Return true if the set of transitions and bad states violate the branching condition.
- State<T> - Class in io.github.contractautomata.catlib.automaton.state
-
Class implementing a state of an Automaton.
- State(List<BasicState<T>>) - Constructor for class io.github.contractautomata.catlib.automaton.state.State
-
Constructor for a State
- StrongAgreement - Class in io.github.contractautomata.catlib.requirements
-
The predicate of Strong Agreement over CALabels.
- StrongAgreement() - Constructor for class io.github.contractautomata.catlib.requirements.StrongAgreement
- SynthesisOperator<S1,L1,S extends State<S1>,L extends Label<L1>,T extends ModalTransition<S1,L1,S,L>,A extends Automaton<S1,L1,S,T>> - Class in io.github.contractautomata.catlib.operations
-
Class implementing the abstract synthesis operator.
The synthesis operation is an automatic refinement of an automaton to a refined one where
given conditions hold. - SynthesisOperator(TriPredicate<T, Set<T>, Set<S>>, TriPredicate<T, Set<T>, Set<S>>, Predicate<L>, Function<Set<T>, A>) - Constructor for class io.github.contractautomata.catlib.operations.SynthesisOperator
-
Constructor for the synthesis operator.
- SynthesisOperator(TriPredicate<T, Set<T>, Set<S>>, Predicate<L>, Function<Set<T>, A>) - Constructor for class io.github.contractautomata.catlib.operations.SynthesisOperator
-
Constructor for the synthesis operator.
T
- test(CALabel) - Method in class io.github.contractautomata.catlib.requirements.Agreement
-
Returns true if l is not a request.
- test(CALabel) - Method in class io.github.contractautomata.catlib.requirements.StrongAgreement
-
Returns true if l is a match.
- test(T, U, V) - Method in interface io.github.contractautomata.catlib.operations.interfaces.TriPredicate
- TetraFunction<T,U,V,W,Z> - Interface in io.github.contractautomata.catlib.operations.interfaces
-
A function over four arguments.
- toString() - Method in class io.github.contractautomata.catlib.automaton.Automaton
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.action.Action
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.action.Address
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedOfferAction
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.action.AddressedRequestAction
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.action.OfferAction
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.action.RequestAction
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.label.Label
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.state.BasicState
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.state.State
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.automaton.transition.Transition
-
Print a String representing this object
- toString() - Method in class io.github.contractautomata.catlib.family.Family
-
Print a representation of this object as String
- toString() - Method in class io.github.contractautomata.catlib.family.Feature
-
Print a representation of this object as String
- toString() - Method in class io.github.contractautomata.catlib.family.Product
-
Print a representation of this object as String
- Transition<S1,L1,S extends State<S1>,L extends Label<L1>> - Class in io.github.contractautomata.catlib.automaton.transition
-
Class implementing a Transition of an Automaton.
- Transition(S, L, S) - Constructor for class io.github.contractautomata.catlib.automaton.transition.Transition
-
Constructing a transition from a source and target states and a label Parameters must be non-null, and must have the same rank.
- TriFunction<T,U,V,Z> - Interface in io.github.contractautomata.catlib.operations.interfaces
-
A function over three arguments.
- TriPredicate<T,U,V> - Interface in io.github.contractautomata.catlib.operations.interfaces
-
A predicate over three arguments.
U
- UnionFunction - Class in io.github.contractautomata.catlib.operations
-
Class implementing the union function.
- UnionFunction() - Constructor for class io.github.contractautomata.catlib.operations.UnionFunction
- URGENT - io.github.contractautomata.catlib.automaton.transition.ModalTransition.Modality
-
the urgent modality
- URGENT - Static variable in class io.github.contractautomata.catlib.automaton.transition.ModalTransition
-
Constant symbol denoting a urgent modality
V
- valueOf(String) - Static method in enum io.github.contractautomata.catlib.automaton.transition.ModalTransition.Modality
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum io.github.contractautomata.catlib.automaton.transition.ModalTransition.Modality
-
Returns an array containing the constants of this enum type, in the order they are declared.
All Classes All Packages