data abstraction language