In the version 3.1a New features: 1. add properties function in file option, so that user can modify project properties at any time; 2. re-format the html report; 3. The goal overview diagram now allows for graphically specifying if the sub-goals are either "or" or "and" refinements Bugs that fixed: 1. bug description: Even if the capability is external to the system, the PDT will generate code for it in the code directory. Solution: Now when generating code, if there is an external capability PDT will send warning to the user and does not generate code any more. 2.bug description: If there were more than one agent and the user creates a Note object in one of the Agent's diagrams, this Note object will also appear in all of the other Agent diagrams. Solution: The Note object will only appear in the Agent diagram where it is created. 3. bug description: If some objects (Agent or capability) use external data, when generating code PDT can not find these data since they have been assumed to be defined in the external system. Solution: Claim them in the current project, but not re-define them. 4.bug description: If the .pd file is moved or copied to another directory, and the new copy is opened, then the 'openedAs' field, under 'ProjectData' element in the file, keeps unchanged, unless the user saves it again. Solution: when opening an existing project, first, save it in the current directory at background. 5.bug description: In generated code, the internal messages do not extend BDIGoalEvent but Event class. Solution: Take BDIGoalEvent instead of Event. 6.bug description: In the generated code for plan, the context method of the plan returns nothing if this plan does not have any trigger. Solution: Context method will return true in any case.