* Added new functionality of handling Deadlines. Shark now has defined client API, and its implementation for handling Activity deadlines. This API is supposed to be used by shark client to periodically ask shark to check deadines. Shark can be setup to re-evaluate deadlines every time deadline check is performed, or to initially calculate deadline times and store it into DB, and when asked to check deadlines, deadline limit is retrieved from DB. Shark comes with an example XPDL processes contained in deadlineexamples.xpdl file, that shows ASYNC and SYNC deadline handling. In shark deadline expressions along with all process variables, you can use special variables called: 1. PROCESS_STARTED_TIME - the time when the process is started 2. ACTIVITY_ACTIVATED_TIME - the time when process flow comes to activity and assignments for the activity are created 3. ACTIVITY_ACCEPTED_TIME - the time when the first assignment for the activity is accepted NOTE: If activity is being rejected after its acceptance, or it is not accepted at all, the ACTIVITY_ACCEPTED_TIME isset to some maximum value in the future IMPORTANT: - There shouldn't be process variables (DataField or FormalParameter entities from XPDL) that have the same Id as the one of previously listed - The Java type of these variables is java.util.Date. - deadline expression result must be java.util.Date -if shark is setup to not re-evaluate deadlines, but to initially evaluate deadline limit times, ACTIVITY_ACCEPTED_TIME should not be used in expressions because it will contain some maximum time in the future. When starting Shark CORBA server, it can be configured if it will open a thread for checking Deadlines.