Issue No.02 - March/April (2005 vol.22)
Javier Garz? , mCentric
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2005.26
Establishing a profession as a branch of engineering requires understanding that profession's accumulated knowledge. Software engineering has advanced greatly in recent years, but its knowledge still lacks a structured classification. In object-oriented microarchitectural design knowledge, design patterns are the most popular example of accumulated knowledge. However, elements such as principles, heuristics, best practices, "bad smells," and refactorings are not clearly defined. Many of these elements are synonymous, and others are just vague concepts. The authors present an ontology that structures and unifies such knowledge. This ontology differentiates between declarative and operative knowledge, and encompasses rules (principles, heuristic, bad smells, and so on), patterns, and refactorings. It also encompasses the differences and relationships between these types of knowledge.
object-oriented, microarchitectural design, design knowledge, ontology, rules, design patterns, principles, heuristics, best practices, bad smells, refactorings
Javier Garz?, "An Ontology for Microarchitectural Design Knowledge", IEEE Software, vol.22, no. 2, pp. 28-33, March/April 2005, doi:10.1109/MS.2005.26