You have to persuade your dog that your cat is equal member of the pack. First of all, train your dog to eat in laying down position, it is good for her neck anyway for prevention of the osteosclerosis, and it also is good for training "Down" and remaning in the same position as long as required. It also would work as a break from old stereptype in order to build a new one. It is not difficult to train, your dog will eat as happily as before, normally 2-3 days - and she would be obedient just knowing what will happen next. It is better to keep your cat out of the room these three days.
The next time she eats in already learned down position call the cat (your call is important), don't let your dog to get up, she should continue eating. Crouch in front of the plate slightly aside (or place a low seat if crouching is not so comfortable) and start taking bits out of plate with your left hand, placing the bits into your right hand and feeding your cat with them. The didtance between your hands should serve as a distance between your cat and your dog. Do it for couple of days whenever it is convenient. The next time make this distance shorter, and after that start taling bits out of your dog''s plate and placing them on the floor for your cat right next to it. This way you would train not your dog only, but your cat as well, because your cat simply doesn't know how else to receive that what your dog eats. Most likely the cat ate out of one plate with other kittens when was young, that's why she is getting into your dog's meals so insistantly. Train first with something your cat doesn't like very much, the dog would gobble it anyway out of sheer greediness. Increase distraction with time, providing raw beef. Raw meat reminds natural kill deep down in your dog's subconsciousness. One day you will notice that your cat sits exactly in the "feeding" spot and cries, and your dog has lost negative reaction completely. Sometimes my dog doesn't have have much appetite - I have to call the cat in order to persuade her to start eating.
The procedure with the toy may appear rude to your dog, but that is the only way I know to stop the dog snapping another dog when that one tries to fetch it from under the nose of your dog. Only you noticed that it is just about to happen - tell your dog "Down!", hold her by her collar, remove the toy out of her mouth and throw it for that dog. You should work in cooperation with that dog's owner, ask him to take the toy from his dog and hold it in his hand, never to throw it to you. With your dog at your heel ( training better "Heel") come to him and take by hand. I'd suggest you to play ball away from the group. But, in any case, that is the dog park ethics - your dog should run only after the ball thrown by you, not any other person. Ask other owners to keep with this rule, would be less problems with biting. In one of dog parks Lucy and I visit, the handlers throw the toys in one direction, but dogs run only after their own toys. Younger dogs learn it by watching more experienced dogs.