git-svn-id: https://projects.brucker.ch/su4sml/svn/su4sml/trunk@7962 3260e6d1-4efc-4170-b0a7-36055960796d
This commit is contained in:
parent
22ac7ba523
commit
88b844f45a
|
@ -87,7 +87,7 @@ fun check_weak_classifier class (model as (clist,alist)) =
|
|||
then true
|
||||
else
|
||||
let
|
||||
val s1 = "WFC ERROR: Command/Query constraint\n\n"
|
||||
val s1 = "WFC ERROR: Weak Command/Query constraint\n\n"
|
||||
val s2 = "Classifier " ^ (string_of_path (name_of class)) ^ " has in the operatin "^(name_of_op oper)^" the precondition " ^ (opt2string a) ^ " with the term "^(ocl2string false b)^" a call to an operation which is not isQuery.\n"
|
||||
in
|
||||
raise WFCPOG.WFC_FailedMessage (s1^s2)
|
||||
|
@ -100,7 +100,7 @@ fun check_weak_classifier class (model as (clist,alist)) =
|
|||
then true
|
||||
else
|
||||
let
|
||||
val s1 = "WFC ERROR: Command/Query constraint\n\n"
|
||||
val s1 = "WFC ERROR: Weak Command/Query constraint\n\n"
|
||||
val s2 = "Classifier " ^ (string_of_path (name_of class)) ^ " has in the operation "^(name_of_op oper)^" postcondition " ^ (opt2string a) ^ " with the term "^(ocl2string false b)^" a call to an operation which is not isQuery.\n"
|
||||
in
|
||||
raise WFCPOG.WFC_FailedMessage (s1^s2)
|
||||
|
@ -124,7 +124,7 @@ fun check_strong_classifier class (model as (clist,alist)) =
|
|||
then true
|
||||
else
|
||||
let
|
||||
val s1 = "WFC ERROR: Command/Query constraint\n\n"
|
||||
val s1 = "WFC ERROR: Strong Command/Query constraint\n\n"
|
||||
val s2 = "Classifier " ^ (string_of_path (name_of class)) ^ " has in the operation "^(name_of_op oper)^" precondition " ^ (opt2string a) ^ " with the term "^(ocl2string false b)^" a call to an operation which is not isQuery.\n"
|
||||
in
|
||||
raise WFCPOG.WFC_FailedMessage (s1^s2)
|
||||
|
@ -137,7 +137,7 @@ fun check_strong_classifier class (model as (clist,alist)) =
|
|||
then true
|
||||
else
|
||||
let
|
||||
val s1 = "WFC ERROR: Command/Query constraint\n\n"
|
||||
val s1 = "WFC ERROR: Strong Command/Query constraint\n\n"
|
||||
val s2 = "Classifier " ^ (string_of_path (name_of class)) ^ " has in the operation "^(name_of_op oper)^" postcondition " ^ (opt2string a) ^ " with the term "^(ocl2string false b)^" a call to an operation which is not isQuery.\n"
|
||||
in
|
||||
raise WFCPOG.WFC_FailedMessage (s1^s2)
|
||||
|
@ -149,7 +149,7 @@ fun check_strong_classifier class (model as (clist,alist)) =
|
|||
then true
|
||||
else
|
||||
let
|
||||
val s1 = "WFC ERROR: Command/Query constraint\n\n"
|
||||
val s1 = "WFC ERROR: Strong Command/Query constraint\n\n"
|
||||
val s2 = "Classifier " ^ (string_of_path (name_of class)) ^ " has in the invariant " ^ (opt2string a) ^ " with the term "^(ocl2string false b)^" a call to an operation which is not isQuery.\n"
|
||||
in
|
||||
raise WFCPOG.WFC_FailedMessage (s1^s2)
|
||||
|
|
|
@ -83,7 +83,10 @@ fun term_post_implies_inv class oper model =
|
|||
|
||||
fun term_init_attributes class oper model =
|
||||
let
|
||||
(*
|
||||
val atts = all_attributes_of class model
|
||||
val post = Predicate (Variable ("self",type_of class),type_of class,name_of_post class oper,args2varargs ((arguments_of_op oper)@[("result",(#result oper))]))
|
||||
(* TODO:
|
||||
* for all attributes: self.att_name = soll definiert sein
|
||||
*)
|
||||
in
|
||||
Variable ("no",OclVoid)
|
||||
|
|
|
@ -21,20 +21,21 @@ val zargo = prefix^"simple_rfm/simple_rfm.zargo"
|
|||
val ocl = prefix^"simple_rfm/simple_rfm.ocl"
|
||||
val remP = []
|
||||
*)
|
||||
(*
|
||||
val zargo = "../../../../examples/meeting/Meeting.zargo"
|
||||
(*
|
||||
val zargo = prefix^"meeting/Meeting.zargo"
|
||||
val ocl = ""
|
||||
val remP = []
|
||||
*)
|
||||
|
||||
(*
|
||||
val zargo = "../../../hol-ocl/examples/SimpleChair/SimpleChair.zargo"
|
||||
val ocl = "../../../hol-ocl/examples/SimpleChair/AbstractSimpleChair04.ocl"
|
||||
val remP = ["AbstractSimpleChair02", "AbstractSimpleChair03","AbstractSimpleChair01","ConcreteSimpleChair01"] ;
|
||||
|
||||
*)
|
||||
|
||||
(** EBANK **)
|
||||
(*
|
||||
val zargo = "../../../examples/ebank/ebank.zargo"
|
||||
val ocl="../../../examples/ebank/ebank.ocl"
|
||||
val zargo = prefix^"ebank/ebank.zargo"
|
||||
val ocl=prefix^"ebank/ebank.ocl"
|
||||
val remP = []
|
||||
*)
|
||||
|
||||
|
@ -86,11 +87,11 @@ val zargo = "../../../hol-ocl/examples/overriding/overriding.zargo"
|
|||
val ocl="../../../hol-ocl/examples/overriding/overriding.ocl"
|
||||
val remP = []
|
||||
*)
|
||||
(*
|
||||
val zargo = "../../../hol-ocl/examples/stack_manu/stack.zargo"
|
||||
val ocl="../../../hol-ocl/examples/stack_manu/stack.ocl"
|
||||
|
||||
val zargo = prefix^"stack_manu/stack.zargo"
|
||||
val ocl=prefix^"stack_manu/stack.ocl"
|
||||
val remP = []
|
||||
*)
|
||||
|
||||
(** import model *)
|
||||
val XMI = parseUML zargo
|
||||
val _ = init_offset()
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
"constructorconsistency.sml" ===> [DONE (force_initialize_attributes still left]
|
||||
"operationalconsistency.sml" ===> [ready for isabelle]
|
||||
"refineconstraint.sml" ===> [ready for isabelle]
|
||||
"commandqueryconsistency.sml" ===> [IMPLEMENTAITON NOT FINISHED]
|
||||
"taxonomyconsistency.sml" ===> [DONE => works in Isabelle]
|
||||
"interfaceconsistency.sml" ===> [DONE => works in Isabelle]
|
||||
"commandqueryconsistency.sml" ===> [ready for isablle (is_modified_only still left)]
|
||||
"taxonomyconsistency.sml" ===> [DONE]
|
||||
"interfaceconsistency.sml" ===> [DONE]
|
||||
"SecureUMLconstraint.sml" ===> [IMPLEMENTATION NOT FINISHED]
|
||||
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@ val wfs = [wfc_vis]
|
|||
val pos = []
|
||||
*)
|
||||
|
||||
val wfs = []
|
||||
val wfs = [wfc_quy_strong,wfc_quy_weak]
|
||||
val pos = [po_rfm_SC]
|
||||
|
||||
(*
|
||||
|
|
|
@ -169,6 +169,7 @@ val tax_workaround =
|
|||
}
|
||||
|
||||
val supported_wfs = [
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_inf_stereotypes",
|
||||
name = "WFC Interface Consistency consistent stereotypes (subconstraint)",
|
||||
|
@ -179,6 +180,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Interface_Constraint.check_stereotypes),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABELLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_inf_nameclashes",
|
||||
name = "WFC Interface Consistency no nameclashes (subconstraint)",
|
||||
|
@ -189,6 +191,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Interface_Constraint.check_nameclashes),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_inf_all",
|
||||
name = "WFC Interface Consistency (complete)",
|
||||
|
@ -199,6 +202,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(generate_void_wfc),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_vis_class",
|
||||
name = "WFC Visibility Consistency (class)",
|
||||
|
@ -209,6 +213,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Visibility_Constraint.model_entity_consistency),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_vis_inheritance",
|
||||
name = "WFC Visibility Consistency (inheritance)",
|
||||
|
@ -219,6 +224,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Visibility_Constraint.model_inheritance_consistency),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_vis_runtime",
|
||||
name = "WFC Visibility Consistency (runtime)",
|
||||
|
@ -229,6 +235,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Visibility_Constraint.constraint_check_by_runtime_consistency),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_vis_design_by_contract",
|
||||
name = "WFC Visibility Consistency (design_by_contract)",
|
||||
|
@ -239,6 +246,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Visibility_Constraint.constraint_design_by_contract_consistency),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_vis_all",
|
||||
name = "WFC Visibility Consistency (complete)",
|
||||
|
@ -254,6 +262,7 @@ val supported_wfs = [
|
|||
(* *)
|
||||
(* (WFCPOG_Taxonomy_Constraint.WFCPOG_TAX_Data.put ({key=9,max_depth=5}) tax_workaround) *)
|
||||
(* *)
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_tax",
|
||||
name = "WFC Taxonomy Consistency",
|
||||
|
@ -265,6 +274,7 @@ val supported_wfs = [
|
|||
data = Datatab.empty
|
||||
}
|
||||
,
|
||||
(* NOT SUPPORTED IN ISABLLE (is not needed)*)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_rfm",
|
||||
name = "WFC OO Refinement",
|
||||
|
@ -275,6 +285,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Refine_Constraint.check_syntax),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_cstr_override",
|
||||
name = "WFC Constructor Consistency",
|
||||
|
@ -285,6 +296,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Constructor_Constraint.override_old_creators),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_quy_strong",
|
||||
name = "WFC Command Query Constraint",
|
||||
|
@ -295,6 +307,7 @@ val supported_wfs = [
|
|||
apply = WFCPOG.WFC(WFCPOG_Command_Query_Constraint.strong_is_query),
|
||||
data = Datatab.empty
|
||||
},
|
||||
(* SUPPORTED IN ISABLLE *)
|
||||
WFCPOG.WFPO{
|
||||
identifier = "wfc_quy_weak",
|
||||
name = "WFC Command Query Constraint",
|
||||
|
|
Loading…
Reference in New Issue