[Next] [Previous] [Top] [Contents]

Chris Welty - Dissertation

APPENDIX D
action description rule functions


(defun assignment-description-fn (assignment)
  (setf (gethash 'description *csis-role-deps*)
        (append '((changes name) (new-value name) (new-value description))
                (gethash 'description *csis-role-deps*)))
  `(fills description ,(format nil "Assigns ~a <- ~a" 
                               (value-string (get-value assignment @changes))
                               (value-string (get-value assignment @new-value)))))
;
(defun message-description-fn (message)
  (setf (gethash 'description *csis-role-deps*)
        (append '((call-method name) (send-to name)) 
                (gethash 'description *csis-role-deps*)))
  `(fills description ,(format nil "Sends ~a to ~a" 
                               (value-string (get-value message @call-method))
                               (value-string (get-value message @send-to)))))
;
(defun return-description-fn (return)
  (setf (gethash 'description *csis-role-deps*)
        (append '((return-value name) (return-value description)) 
                (gethash 'description *csis-role-deps*)))
  `(fills description ,(format nil "Returns ~a"
                               (value-string (get-value return @return-value)))))
;
(defun switch-description-fn (switch)
  (setf (gethash 'description *csis-role-deps*)
        (append '((switch-on-value name) (switch-on-value description)) 
                (gethash 'description *csis-role-deps*)))
  `(fills description ,(format nil "Switch on ~a"
                               (value-string (get-value switch @switch-on-value)))))
;
(defun select-switch-case-description-fn (case)
  (setf (gethash 'description *csis-role-deps*)
        (append '((case-condition name) (case-condition description) 
                  (case-of description))
                (gethash 'description *csis-role-deps*)))
  `(fills description ,(format nil "Case ~a of ~a"
                               (value-string (get-value case @case-condition))
                               (value-string (get-value case @case-of)))))
;
(defun pass-parameter-description-fn (pass)
  (setf (gethash 'description *csis-role-deps*)
        (append '((argument-value name) (argument-value description) (pass-as name)
                  (passed-from call-method name))
                (gethash 'description *csis-role-deps*)))
  `(fills description ,(format nil "Pass ~a as ~a to ~a"
                               (value-string (get-value pass @argument-value))
                               (value-string (get-value pass @pass-as))
                               (value-string (get-value (get-value pass @passed-from)
                                                        @call-method)))))


Chris Welty - Dissertation - 17 SEP 1996
[Next] [Previous] [Top] [Contents]

Generated with Harlequin WebMaker