Vanguard has a handy tool, that will compute your 3-fund (total US stock market, Intl stock Market, and Bond) allocation given your age, your risk adversion, and your timeframe.
Beyond that check out something like the Financial Engines software for very specific named fund allocation suggestions. Vanguard lets you use it for free if you have a big enough account. I beleive that Financial Engines uses some variation on Modern Portfolio Theory for the asset allocations and recommendations. They recommend an "optimal" risk-level based asset allocation for you based on your age, retirement plans, and goals.