Bring a large pot of lightly salted water to the boil. Cook the penne pasta uncovered in the boiling water, stirring occasionally, until the pasta has cooked through, but is still firm to the bite, about 11 minutes. Drain, set aside and keep warm.
Heat the olive oil in a large frying pan over medium-high heat; add the chicken to the frying pan and season with salt, pepper, and garlic salt. Cook and stir for about 2 minutes; remove the chicken and set aside. Cook and the garlic and onion in the oil remaining in the frying pan until the onion becomes translucent, about 3 minutes. Stir in the asparagus, sun-dried tomatoes and beef stock; reduce heat to medium-low. Cook until the asparagus is bright green and starting to become tender, about 5 minutes. Return the chicken to the frying pan and stir in the artichoke hearts. Cook and stir until hot, about 3 minutes.
Gently fold the pasta into the chicken and vegetables, cover the frying pan and turn off the heat. Allow the mixture to sit until the pasta has absorbed any excess stock, about 5 minutes. Mix butter into the pasta mixture until butter melts and coats the pasta; sprinkle with Parmesan cheese to serve.