Opacity Of Discrete Event Systems: Analysis And Control