Preheat the oven to 375 degrees F.
In a 10-inch non-stick skillet simmer the asparagus in water to cover for 3 to 5 minutes, or until it is just tender. Drain the asparagus, rinse under cold water, and pat dry with paper towels. Cut the asparagus crosswise into 1/4-inch pieces and transfer the pieces to a bowl. In the skillet cook the onion with salt and pepper to taste in 1/2 tablespoon of the butter over moderate heat, stirring frequently, for 5 minutes. Add the sugar, cook the mixture, stirring, for 3 to 5 minutes, or until the onion is golden, and transfer the mixture to the bowl. Stir in the Gruyere, the tarragon, and salt and pepper, to taste.
In the skillet, cleaned, heat the remaining 1/2 tablespoon butter over moderate heat until it is melted, tilt the skillet to coat it, and remove it from the heat. In a bowl whisk the egg yolks with the flour and salt and pepper, to taste, until the mixture is thick and lemon-colored. In another bowl with an electric mixer beat the egg whites with a pinch of salt until they just hold stiff peaks, fold them into the yolk mixture gently but thoroughly, and pour the egg mixture into the skillet, spreading it evenly. (If the skillet handle is plastic, wrap it in a double thickness of foil.)
Bake the omelet in the middle of the oven for 7 minutes, or until it is puffed and almost cooked through, spoon the filling down the middle of it, and with a spatula fold the omelet in half to enclose the filling. Bake the omelet in the middle of the oven for 1 minute more, or until the cheese is melted and the omelet is cooked through.