How to Make It
Lightly butter an 8-inch square glass or ceramic baking dish. In a medium saucepan, combine the stock with the barley and 1 tablespoon of butter. Season with salt and pepper and bring to a boil. Cover and cook over low heat until the barley is tender, about 15 minutes. Do not drain.
Meanwhile, in a large skillet, melt 2 tablespoons of the butter over moderate heat. Add the onions, mushrooms, thyme and caraway. Season with salt and pepper and cook, stirring occasionally, until caramelized, about 15 minutes. Transfer to a large bowl and wipe the skillet clean.
Preheat the oven to 375°. In the same large skillet, melt the remaining 2 tablespoons of butter over moderate heat. Stir in the flour and cook, whisking constantly, until a paste forms, about 1 minute. Gradually whisk in the milk until smooth and thickened, about 4 minutes. Add the Gruyère cheese and cook, stirring, until smooth, about 2 minutes. Stir in the barley along with the reserved cooking stock, the onions and mushrooms. Season with salt and pepper.
Scrape the barley mixture into the prepared pan and top with the tomatoes, crackers and Parmigiano-Reggiano cheese. Bake for 20 minutes, until golden and bubbling around the edges. Serve warm.