ancailliau / kaostools Goto Github PK
View Code? Open in Web Editor NEWThis repository contains a tool suite for building, editing, analyzing, exporting ... KAOS models
This repository contains a tool suite for building, editing, analyzing, exporting ... KAOS models
It should be nice to have some form of heredocs, especially for definitions.
In particular (i.e. the underlying requirement), the current double quotes do not allow capturing multiline definitions such as the one below. As spaces are not significant with double quotes, the two bullets merge.
declare goal
id maintain_data_availability
name "Maintain [Data Availability]"
definition "
* The crisis details, route plan and information related to the identification
of coordinators shall be available with the exception of a total of 5 minutes
during the time period when at least one crisis is active.
* The crisis details and route plans should be available with the
exception of a total of 30 minutes for every 48 hours when no crisis is
active.
"
end
Most definitions and descriptions (goals, agents, predicates, etc.) are multi-line indented in source files, for convenience reasons.
It should probably be a good idea to apply the following regexp-based conversion in a post-parsing phase gsub /\s+/m, " "
le level ne s'applique pas pour le titre goals, obstacles, domain properties, agents
les propriété du domaines ne s'affiche pas comme dans le cours. elle apparaisse comme un goal (parallélogramme) alors que ca devrait etre une "maison".
Les propriétés du domaines ne permettent pas de leur mettre un id.
ce serait une bonne chose que d'avoir un export vers latex.
dans le cas des rapports, ca permet qu'on ne doivent pas dupliquer une grande partie des informations entre le diagramme et le texte. ce qui actuellement est source d'erreur du au copier coller.
si tu n'as pas le temps, sais tu donner les grandes lignes de comment tu vois l'implémentation de cette fonctionnalité pour que si nous on trouve ce temps, on puisse contribuer plus facilement.
voila ce que j'obtiens quand j'essaye de faire un diagramme avec un id
KAOSFormalTools.ModelDrawing.exe ../genlog2012/diagrams/goals/drivergoals.kaos --refinements=achieve_proposal_encoded
ltlsharp: Could not find goal 'achieve_proposal_encoded'
Try `KAOSFormalTools.ModelDrawing --help' for more information.
ou encore
KAOSFormalTools.ModelDrawing.exe ../genlog2012/diagrams/goals/drivergoals.kaos --obstructions=achieve_proposal_encoded
ltlsharp: Could not find goal ''
Try `KAOSFormalTools.ModelDrawing --help' for more information.
tout a l'air de bien fonctionner avec le name
It seems that Antlr library is missing:
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException:
Could not load file or assembly 'Antlr3.Runtime, Version=3.4.1.9004, Culture=neutral,
PublicKeyToken=eb42632606e9261f' or one of its dependencies.
Hi @ancailliau,
I'm trying to use KAOSTools on the bCMS model we have built together. I end up with omnigraffle refusing to open any generated file. As far as I go back in git history, I can't make it work.
I initially suspected a omnigraffle version problem (because I'm using OmniGraffle 6 now), but I can perfectly open .graffle files saved in the bCMS project at that time (I was using OmniGraffle 5, if I remember correctly).
I give an example file --in attachement-- by email (because github refuses .xml .graffle attachments ;-() . Any hint or thing I need to know? Thanks.
See title, but rendering of this model is not correct
begin obstacle
id ambulance_not_in_familiar_area
name "Ambulance Not In Familiar Area"
resolvedby avoid_ambulance_not_in_familiar_area
end
begin goal
id avoid_ambulance_not_in_familiar_area
name "Avoid [Ambulance Not In Familiar Area]"
formalspec "ambulanceMobilized => ambulanceInFamiliarArea"
end
The problem (no compatible alternative in responsibility diagrams) seems to appear with assignments coming from obstacle resolutions, as the example below suggests.
I have no idea what the semantics should be here.
declare system
id automated
alternative distributed
alternative centralized
end
declare goal
id maintain_available
name "Maintain [Communication Available]"
assignedto[distributed] "Bernard"
assignedto[centralized] "Antoine"
obstructedby no_communication_available
end
declare obstacle
id no_communication_available
name "No Communication Available"
resolvedby restore_communication
end
declare goal
id restore_communication
name "Achieve [Communication Restored When Not Available]"
assignedto "Bernard"
end
When model become large, maintaining the whole model in one single file is hard and painful.
A mechanism to include external files is worth considering
comment on fait pour mettre des commentaires dans le fichier kaos ?
utile pour structurer en bloc général le fichier.
est il possible aussi de faire des include pour faire des sous fichiers ?
/home/simon/workspace/KAOSFormalTools/KAOSFormalTools.sln (default targets) ->
(Build target) ->
/home/simon/workspace/KAOSFormalTools/KAOSFormalTools.Parsing.Tests/KAOSFormalTools.Parsing.Tests.csproj (default targets) ->
/usr/lib/mono/4.0/Microsoft.CSharp.targets (CoreCompile target) ->
TestParsingGoal.cs(84,20): error CS0117: `NUnit.Framework.Assert' does not contain a definition for `IsInstanceOf'
TestParsingDomainProperty.cs(63,20): error CS0117: `NUnit.Framework.Assert' does not contain a definition for `IsInstanceOf'
TestParsingObstacles.cs(70,20): error CS0117: `NUnit.Framework.Assert' does not contain a definition for `IsInstanceOf'
14 Warning(s)
3 Error(s)
begin
is a procedural syndrome, whereas the language here is descriptive/declarative.
Should probably make it optional for backward compatibility.
Hello,
Multiple arguments given to resolvedby
are interpreted as alternatives resolutions.
It would nice to have the possibility to do a resolution by multiple concurrent goals.
A workaround is to create a fake goal refinedby
the resolving goals.
Hello
Is there a way to show that a goal is there to counter an obstacle ?
Thanks
la domainproperty n'est pas rataché au goal lors d'un refinedby en "or". elle vient se mettre en haut du graphe comme si elle n'était rataché à personne
begin goal
id achieve_destination_reached_if_passenger_has_been_taken
name "Achieve[Destination reached if passenger has been taken]"
definition "If the passenger has been taken in charge by the driver, he will arrive at m.atdest time"
refinedby driver_now_route
refinedby achieve_destination_reached_if_gps_support
end
begin domainproperty
id driver_now_route
name "The driver knows the route"
end
The documentation of KAOSTools shall be greatly improved to have a chance of being reused.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.