Code Monkey home page Code Monkey logo

Comments (2)

ancailliau avatar ancailliau commented on July 16, 2024

Serait-il possible d'avoir le modèle ?

from kaostools.

gagalago avatar gagalago commented on July 16, 2024

le voila

begin goal
  id            achieve_at_destination_and_paid
  name          "Achieve[Driver at Destination]"
  definition    "If a driver \texttt{d} decides to use the car pooling system, sooner or later he will arrive at destination."
  refinedby     achieve_proposal_encoded,
                maintain_proposal_available_if_proposal_encoded,
                achieve_destination_reached_if_proposal_available
end

begin goal
  id            achieve_proposal_encoded
  name          "Achieve[Proposal encoded]"
  definition    "If a driver \texttt{d} wants to propose a travel, he will encode it correctly. He will give a \texttt{startPoint} and an \texttt{endPoint} address, a distance of maximum \texttt{roadExtension}, its \texttt{startingTime} and its \texttt{endingTime} with the maximum \texttt{relaxedTime} he will accept, then the number of seats available \texttt{seatsCount} in his car and the \texttt{deadline}, which is the maximal date where the proposal can be matched."
  assignedto    "Driver"
  obstructedby  not_proposal_encoded
end

begin obstacle
  id            not_proposal_encoded
  name          "Proposal not encoded"
  definition    "The proposal is not encoded."
  refinedby     no_proposal_encoded
end

begin obstacle
  id            no_proposal_encoded
  name          "Proposal misencoded"
  definition    "The driver wants to change its proposal."
  refinedby     driver_wrong_encoding
  refinedby     driver_changed_the_travel
end

begin obstacle
  id            driver_wrong_encoding
  name          "Driver wrongly encode the proposal"
  definition    "The driver made a mistake encoding the proposal and wants to change or delete it before the confirmation of a matching."
  resolvedby    maintain_proposale_modifiable_untile_matching_is_confirmed
end

begin goal
  id            maintain_proposale_modifiable_untile_matching_is_confirmed
  name          "Maintain[Proposal modifiable until matching is confirmed]"
  definition    "A proposal is modifiable until a matching is confirmed by the driver."
  assignedto    "Software"
end

begin obstacle
  id            driver_changed_the_travel
  name          "Travel changed after confirmation"
  definition    "The driver changes the travel after the confirmation of a matching."
  resolvedby    remove_proposal_driver_penality
end

begin goal
  id            remove_proposal_driver_penality
  name          "Remove proposal and driver take penality"
  definition    "If a driver will change or delete a proposal after a matching has been confirmed for this proposal, the driver will have a penality. The proposal and the associated matchings are deleted and all passengers are notified."
  assignedto    "Software"
end

begin goal
  id            maintain_proposal_available_if_proposal_encoded
  name          "Maintain[Proposal available if proposal encoded]"
  definition    "If the driver has encoded a proposal, the software must keep it available forever."
  assignedto    "Software"
end

begin goal
  id            achieve_destination_reached_if_proposal_available
  name          "Achieve[At destination if proposal available]"
  definition    "If a proposal \texttt{p} submitted by driver \texttt{d} has been correctly encoded and is still available. \texttt{d} will arrive at destination at least at \texttt{p.endTime + p.endRelaxTime}."
  refinedby     achieve_matchings_proposed_if_proposal_available,
                achieve_atdestination_if_proposed
end

begin goal
  id            achieve_matchings_proposed_if_proposal_available
  name          "Achieve[Matchings proposed if proposal available]"
  definition    "The software proposes a Travel made of 0 to \texttt{p.seatCount} compatible matchings at least at \texttt{p.deadline}"
  assignedto    "Software"
  obstructedby  request_expired
end

begin obstacle
  id            request_expired
  name          "Matched request has expired"
  definition    "A request matched to the proposal has expired, it means that \texttt{current time > r.TTL}"
  resolvedby    avoid_matching_tested_expired_req
end

begin goal
  id            avoid_matching_tested_expired_req
  name          "Avoid[Matching tested on expired request]"
  definition    "A matching is never tested when a \texttt{request.TTL < proposal.deadline}"
  assignedto    "Software"
end

begin goal
  id            achieve_atdestination_if_proposed
  name          "Achieve[At destination if matchings proposed]"
  definition    "If the software has proposed 0+ matchings, the driver will arrive at destination at least at \texttt{p.endTime + p.endRelaxTime}."
  refinedby     validated_if_proposed,
                atdest_if_validated
end

begin goal
  id            validated_if_proposed
  name          "Achieve[Matchings validated if proposed]"
  definition    "If some matchings have been proposed, the driver accepts them."
  assignedto    "Driver"
  obstructedby  not_validated_if_proposed
end

begin obstacle
  id            not_validated_if_proposed
  name          "Matching not validated and proposed"
  definition    "Matching not validated by the driver and proposed."
  refinedby     matching_refused
  refinedby     driver_afk
end

begin obstacle
  id            driver_afk
  name          "Driver doesn't validate the matching in time"
  definition    "Driver doesn't validate the matching in time."
  resolvedby    matching_validation_timeout
end

begin goal
  id            matching_validation_timeout
  name          "Achieve[Delete proposal if driver doesn't validate in time]"
  definition    "If the driver \texttt{d} does not validate a matching found \texttt{m} for his proposal \texttt{p} within ??? TIME CONSTRAINT TO BE DEFINED\texttt{p.startTime - p.startRelaxTime - min(24h,p.deadline/5)}, the proposal is deleted."
  assignedto    "Software"
end

begin obstacle
  id            matching_refused
  name          "Proposed matching has been refused by the driver"
  definition    "Proposed matching has been refused by the driver."
  resolvedby    delete_proposal
end

begin goal
  id            delete_proposal
  name          "Achieve[Delete proposal if refused by driver]"
  definition    "If a driver refuses a matching which has been found for his proposal \texttt{p}, the proposal is deleted."
  assignedto    "Software"
end

begin goal
  id            atdest_if_validated
  name          "Achievet[At destination if matchings validated]"
  definition    "If the driver has validated the matchings, he will arrive at destination at least at \texttt{p.endTime + p.endRelaxTime}."
  refinedby     passengers_at_point,
                take_passengers,
                atdest_if_taken
end

begin goal
  id            passengers_at_point
  name          "Achieve[Passengers at pick-up point if matchings validated]"
  definition    "For each matching \texttt{m} of \texttt{p}, every passenger is at \texttt{m.pickupPoint} at \texttt{m.pickupTime} if such matchings have been validated."
  assignedto    "Passenger"
end

begin goal
  id            take_passengers
  name          "Achieve[Passenger taken if passengers at pickup-point]"
  definition    "The driver takes every passenger matched at their pick up point if they are there."
  assignedto    "Driver"
  obstructedby  passenger_not_taken
end

begin obstacle
  id            passenger_not_taken
  name          "Passenger is not taken and agreed travel confirmed"
  definition    "Passenger is not taken and agreed travel confirmed."
  refinedby     driver_forgot
  refinedby     driver_not_at_pickup_point
end

begin obstacle
  id            driver_forgot
  name          "Driver is late"
  definition    "The driver has forgotten the time or the location of the agreed travel and is late."
  resolvedby    send_reminder,
                tel_driver,
                tel_passenger
end

begin goal
  id            send_reminder
  name          "Maintain[Send reminder just before start-time]"
  definition    "Send reminder just before start-time by sms. The reminder contains the time, place of appointment and phone number of people involved in the travel."
  assignedto    "Software"
end

begin goal
  id            tel_driver
  name          "Driver informs the passenger"
  definition    "The driver can call the passenger to warn him that he will be late. The phone number is in his reminder."
  assignedto    "Driver"
end

begin goal
  id            tel_passenger
  name          "Passenger call the Driver"
  definition    "The passenger can call the driver to know where he is. The phone number is in his reminder."
  assignedto    "Passenger"
end

begin obstacle
  id            driver_not_at_pickup_point
  name          "Driver not at pickup point."
  definition    "The driver is not at the \texttt{pickupPoint} and a passenger report them."
  resolvedby    driver_penality
end

begin goal
  id            driver_penality
  name          "Driver take a penality"
  definition    "The driver take a penality."
  assignedto    software
end

begin goal
  id            atdest_if_taken
  name          "Achieve[At destination if passengers taken]"
  definition    "The driver will arrive at destination at least at \texttt{}p.endTime + p.endRelaxTime} if the passengers have been taken"
  assignedto    "Driver"
end



begin agent
  name          "Driver"
  description   "A driver."
end

begin software agent
  name          "Software"
  id            software
  description   "Our carpooling software."
end

begin agent
  name          "Passenger"
  description   "A passenger."
end

from kaostools.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.