In a large saute pan, heat the olive oil over medium-high heat. When the oil is hot, add the garlic and cook it, stirring, for about 1 minute or until it is golden brown. Take care not to let the garlic burn. Add the onions and cook the mixture for about 3 minutes, stirring occasionally, or until the onions are golden brown.
Add the sausage, basil, and parsley. Break up the sausage, using a wooden spoon or long-handled fork, and cook the mixture for 2 to 3 minutes or until the sausage is browned. Add the beans, chicken stock, and butter, raise the heat to high, and bring the sauce to aboil. Reduce the heat slightly and simmer it briskly for 5 to 8 minutes or until it starts to thicken. Stir in 1/4 cup of the grated cheese and cook the sauce for about 3 minutes or until it thickens. Season it to taste with salt and pepper. Stir in the prosciutto and 1/2 cup of the cheese. Let the mixture simmer 2 minutes before removing it from the heat.
Meanwhile, in a large pot filled with boiling salted water, cook the pasta for 4 minutes. Add the broccoli and cook it for another 3 to 4 minutes or until the pasta is al dente.
Drain the pasta well. Bring the sauce to a boil. Add the pasta and broccoli to the sauce and mix well. Stir in 1/4 cup of grated cheese, if desired. Serve the pasta with the remaining 1/4 cup of grated cheese passed on the side.