Unformatted text preview:

Executable UMLWhat is Executable UML?Executable UML ModelDomain ModelingClassesExamples ExamplesExamplesExamplesExamplesActionsActions SyntaxConstraintsExamplesExamplesExamplesLifecyclesExampleSignals and EventsExampleSynchronizationModel CompilersSummary1/20/2004 CS371P - Spring 2004 1Overview LectureCourse - CS371SInstructor - James C. BrowneCourse OverviewModel Driven Development OverviewExecutable UML OverviewTool Overview1/20/2004 CS371P - Spring 2004 2Overview LectureModel Driven Paradigm for Software DevelopmentThe steps in the development cycle are:a) The system is defined as an executable specification which is an object-oriented analysis model.b) The system is validated at the analysis model level.c) A software and execution architecture is defined as a set of class templates in an object-oriented programming system.d) The executable system is realized by compilation of the validated analysis model to the software execution architecture.1/20/2004 CS371P - Spring 2004 3Overview LectureWhyUsing models to design complex systems is de rigeur in traditional engineering disciplines. No one would imagine constructing an edifice as complex as a bridge or an automobile without first constructing a variety of specialized system models. from using models and modeling techniques. Models help us understand a complex problem and its potential solutions through abstraction. Therefore, it seems obvious that software systems, which are often among the most complex engineering systems, can benefit greatly1/20/2004 CS371P - Spring 2004 4Overview LectureWhyMDD’s defining characteristic is that software development’s primary focus and products are models rather than computer programs.The major advantage of this is that we express models using concepts that are much less bound to the underlying implementation technology and are much closer to the problem domain relative to most popular programming languages. This makes the models easier to specify, understand, verify and maintain.1/20/2004 CS371P - Spring 2004 5Overview LectureRequirement - Code GenerationIf models are merely documentation, they are of limited value, because documentation all too easily diverges from reality. A key premise behind MDD that programs are automatically generated from their corresponding models.ThereforeModels must be executable.FurtherThe resulting executable must be reasonably competitive wrtresource consumption.1/20/2004 CS371P - Spring 2004 6Overview LectureThis course is about designing, constructing, validating and verifying executable models which can be compiled to procedural code such as C++ or Java.Modeling Language – xUMLDesign Principles and Paradigms – textbook and example papersValidation and verificationTools – BridgePoint, iUMLite, Rational Rose, etc.Evaluation of MDD process1/20/2004 CS371P - Spring 2004 7Overview LectureCourse Work RequirementsThis is essentially a laboratory class. The lectures will cover the xUML and the executable specification based development method in detail and other methods as alternatives. The main goal of the course will be to carry through a complete development of a small software system using object-oriented development methods. There will also be periodic laboratory exercises to develop skills before projects are started.There will be two class examinations but no final examination.1/20/2004 CS371P - Spring 2004 8Overview LectureProject SpecificationsThe project will be development of a small software system through the executable specification development methodology. The projects will be executed by small teams of co-workers. I have a set of possible projects. Each team will do a different project. A team can suggest a project of their own definition by preparing a requirements specification and getting it approved.1/20/2004 CS371P - Spring 2004 9Overview LectureGlimpse at an IDE – Objectbench1. Graphical capture2. Execution by discrete event simulator interpretation of program.3. Early dialect of xUML4. Dining Philosophers Problem1/20/2004 CS371P - Spring 2004 10Overview Lecture1/20/2004 CS371P - Spring 2004 11Overview Lecture1/20/2004 CS371P - Spring 2004 12Overview Lecture1/20/2004 CS371P - Spring 2004 13Overview Lecture1/20/2004 CS371P - Spring 2004 14Overview LectureExecutable UML• What is Executable UML• Executable UML Model• Domain Modeling•Classes• Actions• Constraints• Lifecycles• Signals and Events• Synchronization• Model Compilers• Summary• References1/20/2004 CS371P - Spring 2004 15Overview LectureWhat is Executable UML?• Executable UML is a program in a language more abstract than typical procedural languages.• Subset of UML + Action Language Specification• Describes data and the behavior• Doesn’t make coding decisions• Can be deployed in various software environments without change• Makes use of Model compiler to generate code1/20/2004 CS371P - Spring 2004 16Overview LectureExecutable UML Model• An Executable UML model comprises:– UML class diagrams– UML state charts– Set of procedures, where each procedure is a set of actions.• Other UML diagrams can be used to support the construction of Executable UML models.1/20/2004 CS371P - Spring 2004 17Overview LectureDomain Modeling• An executable UML model is to be built for each subject matter, or domain in the system.• The functional requirements of the system can be expressed in terms of use cases• For a domain, a class diagram is defined comprising classes, attributes and associations and description for each element.• A state machine formalizes a lifecycle of an object in terms of states, events, and transitions.• Each state on the state chart diagram has an associated procedure.• Each procedure comprises a set of actions.1/20/2004 CS371P - Spring 2004 18Overview LectureClasses• Class diagram in an xUML model comprises:– Classes: class’s name, attributes, and events– Generalization and Specialization relationships• All superclasses are tagged {abstract}• All generalizations are tagged {disjoint, complete}• Multiple generalization is permitted, but no diamond generalizations– Associations: association’s name, multiplicity, and roles.• There can be two or more associations between the same two classes.1/20/2004 CS371P - Spring 2004 19Overview


View Full Document

UT CS 371S - Overview Lecture

Download Overview Lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Overview Lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Overview Lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?