KEYWORD12 interface {N_ifm3(start,0,stop)}
	[ id_interface STRING {N_ifm(str,idInterface)} ]
	  ( system {N_ifm(lit,interfaceType_system)}
	    | fork {N_ifm(lit,interfaceType_fork)}
	    [ parameters_file STRING {N_ifm(str,parametersFile)} ]
	    [ work_directory {N_ifm(true,useWorkdir)}
	        [named STRING {N_ifm(str,workDir)} ]
	        [directory_tag ALIAS dir_tag {N_ifm(true,dirTag)} ]
	        [directory_save ALIAS dir_save {N_ifm(true,dirSave)}
		DESC "{Save work directory} http://www.cs.sandia.gov/dakota/licensing/votd/html-ref/InterfCommands.html#InterfApplicSC"]
	        [ template_directory STRING {N_ifm(str,templateDir)}
			DESC "{Template directory} http://www.cs.sandia.gov/dakota/licensing/votd/html-ref/InterfCommands.html#InterfApplicSC"
		  | template_files STRINGLIST {N_ifm(strL,templateFiles)}
			DESC "{Template files} http://www.cs.sandia.gov/dakota/licensing/votd/html-ref/InterfCommands.html#InterfApplicSC"
	          [ copy {N_ifm(true,templateCopy)} ]
		  [ replace {N_ifm(true,templateReplace)} ]
	          ]
	        ]
	    )
	  |
	  ( direct {N_ifm(lit,interfaceType_direct)}
	    [ processors_per_analysis INTEGER {N_ifm(int,procsPerAnalysis)} ]
	    )
	  [ fd_step_size ALIAS fd_gradient_step_size REALLIST := fdGradStepDflt 0.001
		{N_rem(RealL,fdGradStepSize)} ]
	[ num_nonlinear_inequality_constraints INTEGER >= 0 {N_rem(nnintz,numNonlinearIneqConstraints)}
		[ nonlinear_inequality_scale_types STRINGLIST LEN1 num_nonlinear_inequality_constraints {N_rem(strL,nonlinearIneqScaleTypes)} ]
	]
