220 likes | 377 Views
Domain-Driven Software Development with Aspects and Ontologies. Pavel Hruby, Microsoft. Domain Specific Modeling Workshop, OOPSLA 2005. Level of Abstraction of Domain Language. Concepts of Domain Language correspond to Ontological Categories.
E N D
Domain-Driven Software Development with Aspects and Ontologies Pavel Hruby, Microsoft Domain Specific Modeling Workshop, OOPSLA 2005
Concepts of Domain Language correspond to Ontological Categories • Domain ontology answers the question what kinds of concepts exist in the domain
Economic Resource Type Auchentoshan Single Malt Scotch Whisky 12 year old Lowland 44,3% 70cl £33.99 NoseFruity. Raisins, especially dates, orange peel. PalateBeautiful balance of dark, syrupy, fruity, maturation flavours and cedary, oily, marshmallow, characteristics from the spirit itself. FinishGentle, long, warming, lemon grass, spice.
Economic Resource Type Size Male killer whales, or bulls, average 5.8 to 6.7 m (19-22 ft.) and usually weigh between 3,628 and 5,442 kg (8,000-12,000 lb.). Females, or cows, average 4.9 to 5.8 m (16-19 ft.) and usually weigh between 1,361 and 3,628 kg (3,000-8,000 lb.). Body shape A killer whale has a sleek, streamlined, fusiform (tapered at both ends) body shape. Coloration Striking black and white coloration. The dorsal surface and pectoral flippers are black, except for the area below and behind the dorsal fin. A white 'eyespot' is located just above and slightly behind each eye. Killer whales are counter-shaded; they are dark on their dorsal surface and white on their ventral surface.
Economic Resource Type Qajaq USA T-Shirt$14.99Relax in this high quality (Hanes-Beefy-T) white T-shirt with a full-color Qajaq USA logo silk-screened on the front. The back is plain (for you Skin-on-Frame minimalists out there).
Conflict • Ontologies are designed to be general • the same categories for all systems in the domain • Business applications must meet specific user requirements • all systems in the domain are different
Possible Solution • Ontological Categories -> Domain Objects • User Requirements -> Domain Aspects
Other Consequences • Model Transformation • addresses non-functional requirements • System Level Architecture • ontology defines a minimal implementation component
Other Domains? • Transaction Systems (business-logic) • Transformation Systems • compilers, encoding, decoding • Interactive Systems • office applications, games, user interface • Other...? • can they be designed in the same way?
Are the Principles of Designing Business Software applicable to Other Domains? • my question to the workshop