Juan,
Disregard my earlier post. I realized that you don't really have to use a cost attribute to store slope values and I also got the expression for restriction attribute reversed (true expression evaluates to Restricted and not traversable as I had initially thought :))... Here are the updated steps...
Your requirement can be modeled by using a descriptor network attribute to store the directional slope values for streets and using a parameterized restriction attribute. In a network dataset each edge can have two values for descriptor attribute, one in the digitized direction (or From To) and another against the digitized direction (or To From). So to create the necessary restriction attribute use these steps
1. Create two fields called FromToSlope and ToFromSlope in your streets shapefile.
2. Calculate the necessary slope values for each feature. In your case since the slope is applicable in uphill direction you can assign a constant value of 0 for the downhill direction. It might help you adjust your streets such that they are all digitized in uphill to downhill direction or vice versa. That way you can easily calculate the slope values in FromToSlope and ToFromSlope.
3. Once the field calculation is done, add a new descriptor attribute called "Slope" in your network dataset.
4. Assign a field evaluator to Slope attribute and use the FromToSlope and to ToFromSlope for the evaluator value.
5. Next, create a Restriction attribute called "SlopeRestriction".
6. Create a parameter for this attribute called "MaxUpHillSlope". This is the parameter that you will provide based on vehicle type.
7. Use a function evaluator for SlopeRestriction attribute.
8. For the evaluator expression, set Slope >= MaxUpHillSlope
9. Build your network dataset.
10. Now when you perform the service area analysis, make sure you use the SlopeRestriction attribute and you should also specify the MaxUpHillSlope parameter value based on the vehicle for which you are calculating the service area.
Hope this helps
Deelesh