String-rewriting systems developed by Aristid Lindenmayer (which is where the `L' comes from) which model plants quite successfully. An L-system is basically a set of symbols in an alphabet, a set of rules to apply to the alphabet, and a starting string of the symbols.

As an example, take the alphabet to be {a,b}. Take two rules:

b -> ab
a -> b
And use `a' as the initial string. The development of the system will go like this (where n is the generation of the system):
n	String
0	a
1	b
2	ab
3	bab
4	abbab
5	bababbab

This may not seem like much, but (if I've remembered it correctly) it's a good model for the development and cell growth of a real system. The details may be found in The Algorithmic Beauty of Plants. With the expansion of the alphabet, and the addition of a turtle-based interpretation of the strings (like LOGO), fractal shapes such as a Sierpinski gasket can be formed. With care, plant and leaf-like forms can be generated. The addition of stochastic rules adds variation to the final output of the L-system on each run.