110 likes | 247 Views
SYSE 802. John D. McGregor Module 0 Session 2 Model-based methods. Session objective. The objective of this session is to introduce model-driven methods prior to their use in this course. Basic definitions. A “model” is an abstraction of something.
E N D
SYSE 802 John D. McGregor Module 0 Session 2 Model-based methods
Session objective • The objective of this session is to introduce model-driven methods prior to their use in this course.
Basic definitions • A “model” is an abstraction of something. • “Model-driven” implies that a process is moved forward by creating and manipulating models. • Model-driven architecture is an effort to define the architecture of a product by creating models that represent our ideas about the architecture. • The Object Management Group has an initiative on MDA www.omg.org/~soley/mdase.ppt Walk thru the tutorial and create a summary.
Degrees of support • Visio supports model-driven methods to the extent that it captures a graphical representation but a square is just a square • Standards provide stable semantics and notation; many new design standards have multiple representations of the concepts
Degrees of support - 2 • Topcased provides an environment that captures the semantics of the model in a form that allows certain types of analysis • Other tools vary between these two extremes A SysML model of a requirement <<requirement>> Receive message Text: Receive message in any format for which The receiver is configured. ID: MSG001
The idea • Model-driven is based on the concept that working with abstractions allows the designer to get the “big picture”, to see interactions that might be lost in all the detail of an industrial project, and to evaluate the design earlier in the project. • But, abstraction may eliminate essential information that would make a difference in the design decisions.
The idea - 2 • Most modeling environments allow different amounts of detail • Done properly the amount of detail is the same across the breadth of the model so we can think of layers of additional detail • The more detailed the model, the more analysis that the model can support but the greater the investment in time to create it.
What gets modeled? • Maybe everything? • Functional and non-functional aspects of the product • Functional features describe WHAT the product can do. Receive or send messages; take-off and land; etc • Non-functional features are properties of the product such as how many messages can be sent per minute
How good is a model? • A specific model may have to meet specific requirements to be good but in general: • Complete – The model contains all of the information needed for the intended purpose • Correct – The information in the model accurately reflects reality or the intent of the modeler • Consistent - No portion of the model contradicts another portion without a constraint that excludes one piece of the model or the other under specified conditions
Simulation • A number of modeling tools provide the ability to simulate execution • Simulation requires quite a bit of detail in the semantics of the model • To make this investment worthwhile most systems that use simulation also provide automatic generation of some portion of the next most detailed model (often the code)
Tutorial • More about modeling and model-driven as the course progresses • Tutorial in model-driven architecture: http://www.ibm.com/developerworks/rational/library/3100.html Give it a read and submit a one page summary.