mithunp 0 Newbie Poster

I was going through the following pdf file,

http://www.cs.cmu.edu/afs/cs/project/vit/ftp/pdf/intro_softarch.pdf

on page 7 it mentioned about the Abstract data type, and mentions about the understanding of the following (i am mentioning what i understood in RED)

•the software structure (which included a representation packaged with
its primitive operators),
the class its data types and its methods

• specifications (mathematically expressed as abstract models or algebraic
axioms),
what is expected from the software

• language issues (modules, scope, user-defined types),
the grouping of ADT, and again the user defined types are the classes

• integrity of the result (invariants of data structures and protection from
other manipulation),
how to assert that the data remain in correct format, and only be modified through the valid functions

• rules for combining types (declarations),
This i don't understand at all

• information hiding (protection of properties not explicitly included in
specifications).
what data is for public, what for friends/private

Kindly correct me where i understood it incorrectly