
input_ports {
   integer A;
}

output_ports {
   integer B;
}

shared_var {
   mat2 M reader writer;   // This is an error-- cannot be both
}

var {
   integer j;
}

init_comp {
   initcomp(j);
}

input_rules {
   avail(A) => j = val(A);
}

comp {
   foo(j);
}

output_rules {
   true => B = j;
}
