public override void Handle(KAOSCoreElement element, ParsedFormalSpecAttribute attribute, KAOSModel model)
 {
     if (element is Predicate)
     {
         Handle(element, fb.BuildPredicateFormula((Predicate)element, attribute.Value), "FormalSpec");
     }
     else
     {
         Handle(element, fb.BuildFormula(attribute.Value), "FormalSpec");
     }
 }
        public override void Handle(Goal element, ParsedProvidedNotAttribute attribute, KAOSModel model)
        {
            var providedNot = new GoalProvidedNot(model,
                                                  element.Identifier,
                                                  attribute.ObstacleIdentifier,
                                                  fb.BuildFormula(attribute.Formula));

            if (!model.obstacleRepository.ObstacleExists(attribute.ObstacleIdentifier))
            {
                model.Add(new Obstacle(model)
                {
                    Identifier = attribute.ObstacleIdentifier,
                    Implicit   = true
                });
            }
            model.Add(providedNot);
        }
Exemple #3
0
        public override void Handle(Goal element, ParsedRelaxedToAttribute attribute, KAOSModel model)
        {
            var relaxedTo = new GoalRelaxedTo(model,
                                              element.Identifier,
                                              attribute.ObstacleIdentifier,
                                              fb.BuildFormula(attribute.Formula));

            if (!model.obstacleRepository.ObstacleExists(attribute.ObstacleIdentifier))
            {
                model.Add(new Obstacle(model)
                {
                    Identifier = attribute.ObstacleIdentifier,
                    Implicit   = true
                });
            }
            model.Add(relaxedTo);
        }