Question 1: =========== Class dictionary design 25 UNKNOWNs Consider the following class dictionary and input. Find the UNKNOWNs. // Security Automaton extended for Chinese Wall Policy // for one subject ChineseWallPolicyChecker = List(ChineseWallAutomaton) EOF. ChineseWallAutomaton = "UNKNOWN1" "UNKNOWN2" "UNKNOWN3" AutomatonName "UNKNOWN4" State UNKNOWN5 "UNKNOWN6" State UNKNOWN7 "UNKNOWN8" Transition "UNKNOWN9" UNKNOWN10(UNKNOWN12) "UNKNOWN13" UNKNOWN14(CIType) "UNKNOWN15" UNKNOWN16(UNKNOWN17). State = List(Group). Access = ObjektId "group" Group. Group = GroupName ["citype" CIType]. CIType = CITypeName. Transition = UNKNOWN18. // has boolean exec() method that checks Chinese Wall Policy: // newAccess.group gives group g1 // if g1 in ChineseWallPolicyChecker.currentState ok else // if g1.citype is different from previous types ok else denied ObjektId = Ident. GroupName = Ident. CITypeName = Ident. AutomatonName = Ident. UNKNOWN19 ( Chinese Wall automaton consultant_Mary currentState (Shell) startState () transition oid_research group Mobil groups (Shell citype Oil Mobil citype Oil UBS citype Bank) citypes (Oil Bank) history (oid1 group Shell oid2 group Shell oid3 group Shell) UNKNOWN20 consultant_John currentState (Winterthur AllState UBS) transition oid_research group AllState groups (AllState citype Insurance Wintherthur citype Insurance UBS citype Bank) citypes (Insurance Bank Retail WholeSale) UNKNOWN21 (oid1 UNKNOWN22 Winterthur oid2 UNKNOWN23 AllState oid3 UNKNOWN24 UBS ) Chinese Wall automaton consultant_Karl currentState (Shell) transition oid_research group Mobil groups (Shell citype Oil Mobil citype Oil UBS citype Bank) UNKNOWN25 (Oil Bank) history (oid1 group Shell oid2 group Shell oid3 group Shell) )