java.lang.Object
edu.kit.ipd.are.dsexplore.featurecompletions.weaver.strategy.manager.SolutionManager

public final class SolutionManager extends Object
This class provides all operations performed on a MergedRepository (former concern solution).
  • Constructor Summary

    Constructors
    Constructor
    Description
    SolutionManager(org.palladiosimulator.pcm.repository.Repository solution)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
     
    org.palladiosimulator.pcm.repository.RepositoryComponent
    Creates and add a adapter component to the concern solution repository.
    org.palladiosimulator.pcm.repository.ProvidedRole
    createProvidedRoleBy(org.palladiosimulator.pcm.repository.OperationProvidedRole providedRole, String name)
    Creates a provided role based on a provided interface of another operation provided role.
    org.palladiosimulator.pcm.repository.ProvidedRole
    createProvidedRoleBy(org.palladiosimulator.pcm.repository.OperationRequiredRole requiredRole)
    Creates a provided role based on the complimentary operation required role.
    org.palladiosimulator.pcm.repository.ProvidedRole
    createProvidedRoleBy(org.palladiosimulator.pcm.repository.SourceRole sourceRole)
    Creates a provided role based on the complimentary required source role.
    org.palladiosimulator.pcm.repository.RequiredRole
    createRequiredRoleBy(org.palladiosimulator.pcm.repository.OperationProvidedRole providedRole)
    Creates a required role based on the complimentary operation provided role.
    org.palladiosimulator.pcm.repository.RequiredRole
    createRequiredRoleBy(org.palladiosimulator.pcm.repository.OperationSignature signature)
     
    org.palladiosimulator.pcm.repository.RequiredRole
    createRequiredRoleBy(org.palladiosimulator.pcm.repository.SinkRole sinkRole)
    Creates a required role based on the complimentary provided sink role.
    List<org.palladiosimulator.pcm.repository.RepositoryComponent>
    Retrieves all components annotated by a set of annotations.
    List<org.palladiosimulator.pcm.repository.ProvidedRole>
    Creates the provided role space which contains all provided roles that occur in the concern solution repository.
    Optional<org.palladiosimulator.pcm.repository.RepositoryComponent>
     
    org.palladiosimulator.pcm.repository.RepositoryComponent
    getComponentFullfillingCV(List<org.palladiosimulator.pcm.repository.RepositoryComponent> realizingComponents, List<ComplementumVisnetis> cvs)
    Determines a solution component in the set of realizing components that fulfills/provides a CV.
    org.palladiosimulator.pcm.repository.RepositoryComponent
    Determines a solution component that fulfills the given complementum.
    List<org.palladiosimulator.pcm.repository.RepositoryComponent>
    getRealizingComponentsByFCCList(List<CompletionComponent> fccs, List<org.palladiosimulator.pcm.repository.OperationSignature> providedSigs, List<ComplementumVisnetis> cvs)
    Determines the set of solution components that realize the given FCCs and provide the given CVs.
    org.palladiosimulator.pcm.repository.Repository
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SolutionManager

      public SolutionManager(org.palladiosimulator.pcm.repository.Repository solution)
  • Method Details

    • getComponentByName

      public Optional<org.palladiosimulator.pcm.repository.RepositoryComponent> getComponentByName(String name)
    • getAffectedComponentsByFCCList

      public List<org.palladiosimulator.pcm.repository.RepositoryComponent> getAffectedComponentsByFCCList(List<CompletionComponent> fccs)
      Retrieves all components annotated by a set of annotations.
      Parameters:
      annotations - - The set of annotations.
      Returns:
      all components annotated by a set of annotations.
    • getRealizingComponentsByFCCList

      public List<org.palladiosimulator.pcm.repository.RepositoryComponent> getRealizingComponentsByFCCList(List<CompletionComponent> fccs, List<org.palladiosimulator.pcm.repository.OperationSignature> providedSigs, List<ComplementumVisnetis> cvs)
      Determines the set of solution components that realize the given FCCs and provide the given CVs.
      Parameters:
      fccs - the given FCCs corresponding to the fc meta architecture.
      providedSigs - the perimeter provided role.
      cvs - the given CVs.
      Returns:
      the set of solution components that realize the given FCCs and provide the given CVs.
    • getComponentFullfillingCV

      public org.palladiosimulator.pcm.repository.RepositoryComponent getComponentFullfillingCV(List<org.palladiosimulator.pcm.repository.RepositoryComponent> realizingComponents, List<ComplementumVisnetis> cvs)
      Determines a solution component in the set of realizing components that fulfills/provides a CV.
      Parameters:
      realizingComponents - the set of realizing components.
      cvs - the CVs.
      Returns:
      a solution component in the set of realizing components that fulfills/provides a CV.
    • anyCVcontainedInList

      public static boolean anyCVcontainedInList(List<ComplementumVisnetis> fullfilledCVs, List<ComplementumVisnetis> cvs)
    • createAndAddAdapter

      public org.palladiosimulator.pcm.repository.RepositoryComponent createAndAddAdapter(String name)
      Creates and add a adapter component to the concern solution repository.
      Parameters:
      name - - The name of the adapter component.
      Returns:
      the created adapter component.
    • createRequiredRoleBy

      public org.palladiosimulator.pcm.repository.RequiredRole createRequiredRoleBy(org.palladiosimulator.pcm.repository.OperationProvidedRole providedRole)
      Creates a required role based on the complimentary operation provided role.
      Parameters:
      providedRole - - The complimentary operation provided role.
      Returns:
      the created required role.
    • createRequiredRoleBy

      public org.palladiosimulator.pcm.repository.RequiredRole createRequiredRoleBy(org.palladiosimulator.pcm.repository.OperationSignature signature)
    • createRequiredRoleBy

      public org.palladiosimulator.pcm.repository.RequiredRole createRequiredRoleBy(org.palladiosimulator.pcm.repository.SinkRole sinkRole)
      Creates a required role based on the complimentary provided sink role.
      Parameters:
      sinkRole - - The complimentary provided sink role.
      Returns:
      the created required role.
    • createProvidedRoleBy

      public org.palladiosimulator.pcm.repository.ProvidedRole createProvidedRoleBy(org.palladiosimulator.pcm.repository.OperationRequiredRole requiredRole)
      Creates a provided role based on the complimentary operation required role.
      Parameters:
      requiredRole - - The complimentary operation required role.
      Returns:
      the created provided role.
    • createProvidedRoleBy

      public org.palladiosimulator.pcm.repository.ProvidedRole createProvidedRoleBy(org.palladiosimulator.pcm.repository.SourceRole sourceRole)
      Creates a provided role based on the complimentary required source role.
      Parameters:
      sourceRole - - The complimentary required source role.
      Returns:
      the created provided role.
    • createProvidedRoleBy

      public org.palladiosimulator.pcm.repository.ProvidedRole createProvidedRoleBy(org.palladiosimulator.pcm.repository.OperationProvidedRole providedRole, String name)
      Creates a provided role based on a provided interface of another operation provided role.
      Parameters:
      sourceRole - - The operation provided role referencing the provided interface.
      Returns:
      the created provided role.
    • getAllProvidedRoles

      public List<org.palladiosimulator.pcm.repository.ProvidedRole> getAllProvidedRoles()
      Creates the provided role space which contains all provided roles that occur in the concern solution repository.
      Returns:
      the provided role space.
    • getRepository

      public org.palladiosimulator.pcm.repository.Repository getRepository()
    • getFulfillingComponentForComplementum

      public org.palladiosimulator.pcm.repository.RepositoryComponent getFulfillingComponentForComplementum(ComplementumImpl complementum)
      Determines a solution component that fulfills the given complementum.
      Parameters:
      complementum - the given complementum.
      Returns:
      a solution component that fulfills the given complementum.