INF 5120 Modellbasert Systemutvikling Modelbased System development Lecture
INF 5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 12: 16. 04. 2012 Arne-Jørgen Berre arneb@ifi. uio. no or Arne. J. Berre@sintef. no Telecom and Informatics 1
INF 5120 - Lecture plan - 2012 n n n Part I: SSI – Service Innovation and Agile Service/Software Engineering Part II: SSMDE – Model Driven Engineering Part III – Model Driven Interoperability and ADM n n n n n 1: 16/1: Introduction to Model Based System Development (INF 5120) 2: 23/1: SIE I: Enterprise Architecture, Role modeling-Collaboration and Value Networks – Verna Allee (VNA) 3: 30/1: SIE II: : Business Process Modeling with BPMN 2. 0 and Business Model Innovation - Peter Lindgren (BMI) 4: 6/2: SIE III: AT ONE –User-oriented design – with Use cases and user stories 5: 13/2: SIE IV: Service modeling with Soa. ML – Service modeling - Design, patterns 6: 20/2: SIE V: Precise Modeing in UML with OCL and Design with DCI - Design, patterns 7: 27/2: MDE I: Software Process Model Frameworks – Essence/SEMAT, SPEM, EPF and ISO 24744 –Shihong Huang/Brian Elvesæter/Arne J. Berre 8: 5/3: MDE II: Metamodels, Domain specific languages and UML profiles (Franck Fleurey, Brian Elves æter) 9: 12/3: MDE III: Metamodeling, MDLE and DSL Tools (EMF, GMF, ATL, Kermeta) (Franck Fleurey) 10: 19/3: MDE IV: Model transformations - MOFScript, QVT DSLs with examples (Franck Fleurey) 11: 26/3: MDE V: Method Engineering and CORAS UML profile-: DSL example (Arne J. Berre) 2/4, 9/4: EASTER 12: 16/4: MDE VI: User Interface Modeling – Web. Ratio-WEBML, ESITO-Genova, OMG IFML 13: 23/4: MDI I: MDE for SOA (Accenture/NAV) - and introduction to Semantic technologies 14: 30/4: MDI II: Semantics and Model Driven Interoperability 15: 7/5: MDI III: ADM and Migration to SOA/Saa. S/Cloud computing 16: 13/5: Conclusion and Summary for INF 5120 - Preparation of Exam n Exam: Monday June 4 th, 2011, 1430 -1830 (4 hours) Telecom and Informatics 2
INF 5120 – Oblig/Exercise plan - 2012 n n n n 1: 16/1: None 2: 23/1: Guest lecture: Value Networks – Verna Allee (VNA) 3: 30/1: Guest lecture: Business Model Innovation - Peter Lindgren (BMI) – Establish groups 4: 6/2: AT ONE initial exercise – overall approach for Oblig 1 – “my. Service. Fellow” 5: 13/2: Group presentation 6: 20/2: Group presentation 7: 27/2: Group presentation n n 8: 5/3: MDE Tools – introduction – Oblig 2 intro 9: 12/3: MDE Tools II - EMF 10: 21/3: MDE Transformation tools - Delivery of Oblig 1 11: 26/3: Walk through of Oblig 1 2/4, 9/4: EASTER 12: 16/4: Discussion on Oblig 2 13: 23/4: Discussion on Oblig 2 14: 30/4: Oblig 2 delivery 15: 7/5: Oblig 2 summary 16: 13/5: Conclusion and Summary for INF 5120 - Preparation of Exam n Exam: Monday June 4 th, 2011, 1430 -1830 (4 hours) Telecom and Informatics 3
Outline n Web. Ratio MDE tool n Web. ML modeling language n Web. Ratio Modeling methodology n ESITO Genova (Knut Sagli) n OMG IFML RFP process and proposal Telecom and Informatics 4
Web. Ratio
Web. Ratio demonstration n http: //www. youtube. com/watch? feature=player_embedded &v=j. Dr. Wa. KSl. Sv. Y Telecom and Informatics 6
References n - overview presentation on Web. ML http: //www. slideshare. net/mbrambil/webml-and-webratio-business-process-modeling-bpmand-web-application-modeling-4474769? from=ss_embed - slides, materials, exercises with solutions on Web. ML: http: //www. webml. org/webml/page 33. do? User. Ctx. Param=0&Group. Ctx. Param=0&ctx 1=EN (exercises at the bottom of the page) - audio lessons with interactive slides in English: follow separate links in the page: http: //dbgroup. como. polimi. it/brambilla/webml - download of webratio personal http: //www. webratio. com/portal/content/en/download NOTICE: don't download webratio free, but webratio personal - presentation on the move towards IFML http: //www. slideshare. net/mbrambil/experiences-and-requirements-for-a-user-interactionmodeling-language Telecom and Informatics 7
What is Web. Ratio An Eclipse-based development environment allowing: Modeling: ER + Web. ML + BPMN 100% code generation of standard JEE applications • Clear separation between design time and run time • No proprietary runtime Quick and agile development cycles Requirement Analysis Extending the generation rules • Defining new presentation styles • Defining new components Results Verification Solution Modeling Versioning, teamwork, full lifecycle mgt Prototype Generation 8
A fertile environment. . . for designing, building and maintaining your custom enterprise applications 9
Web. Ratio Architecture
Web. Ratio – Step 1 You capture business requirements in abstract, technology independent models Business User Web. Ratio Modeller 11
Design the model Process Model Application Model Define business processes managed by the application Define data, services, logic and presentation details BPMN notation Web. ML notation 12
Web. Ratio – Step 2 You customize the environment by defining your own generation rules Layout Designer Java Programmer 13
Customize the generation rules Layout templates for a perfectly fine-tuned layout, tailored to your visual identity Custom components for implementing any kind of business logic, integration or complex task 14
Web. Ratio – Step 3 You get a tailored, yet standard, Java Web application with no proprietary runtime Web. Ratio Modeller Business User 15
Get the application Browser Standard execution environment Web App DBMS Standard Java Application Server Custom Information System SOA 16
An evolutionary prototyping dev cycle Involve business users in the development process and converge quickly to the target Requirement Analysis Solution Modelling Results Validation Application Generation
The two ways of MDD Design-time Run-time Model Interpretation Immediately available Model Analyst / Modeller Code Generation Model Analyst / Modeller Interpreter App User Vendor-dependent code Generation Engine Generation and deploy Generated Application App User Generation Rules Layout Designer Model Java Programmer 18
Why we chose Code Generation 3 reasons in favour of Code Generation Execution environment is as standard as possible • standard architecture, standard libraries • fitting corporate IT policies Two degrees of freedom instead of one • not all the requirements can be modelled • define, use and reuse your own generation rules No vendor lock-in • generated code is human-readable, applications can be easily maintained without the tool 19
How you can be agile Iterative, agile development ? Zero-cost, 1 -click, prototype generation Model Generation Engine Development / Testing environment Development Prototype Test User Generation Rules Final Application Different deployment configurations Final execution environment Final App User 20
How you can keep on generating Do you want to touch the generated application ? Touch the generation rules instead ! Model Generation Engine ? Generated Application Generation Rules 21
Kinds of application Document Management Customer Information Mgt Knowledge Management Learning Management Project Management Web Content Management Knowledge Support Business Intelligence Web Front-End of accounting sys. Financial Services Payment Services Orchestration Front-Office Process Mgt Product Life Cycle Management Sales and Lead Management Customer Relationship Management Partner Relationship Mgt Marketing Resources Mgt Web Customer Services Supply Chain Management Enterprise Resource Planning Human Capital Management Recruitment Training Workforce Management B 2 C/B 2 B E-Commerce Supplier Relationship Mgt Corporate Operations Enterprise Governance Risk and Compliance Order Mgt 22
A solid foundation: Web. ML
Lesson learned from Web. ML is the core of the upcoming IFML standard Expanded to new classes of applications Stripped of non-UI aspects (e. g. , business logic orchestration) Reasons for the success of the current notation Extremely compact (no useless overhead) Effective (allows to model exactly what users want) Efficient (grants high reusability of model fragments) Easy to learn (very low learning curve) Comprehensive (covers most of the web interaction needs) Open and extensible (for covering any ad hoc logic) 24
Some words on the Web. ML history 1998: Born within the W 3 I 3 EU project • Visual modeling of Web application interfaces 2003: Evolved to the management of Web services (Web. Si EU project) 2005: Evolved to the support of business processes (Web. Si EU project) 2006: Added support to semantic web aspects (SWS Challenge) 2007 -2010: continuous improvements, metamodel definition, support for additional aspects: reuse, async interactions, . . . Currently adopted in more than 300 universities worldwide for research and education purposes 25
Effective and essential A visual modeling language (DSL). . . Oriented to the high level design Incorporating all the details that are needed for refined specification . . . Effective and essential. . . Including only the concepts relevant to the domain No overhead because of verbose notation or orthogonality . . . For user interaction design. . . Page contents Navigation paths and UI events . . . Within web applications Born bottom-up from the features of dynamic web applications 26
Role and positioning Contents: ER, class, . . Process: BPMN User Interaction: Web. ML Style: CSS, . . . BPMN model Backend: soa. ML, WSDL. . Services 27
The Web. ML notation example Two pages Retrieval of session data (Current. User) Review Page • Lists of (prefered) artists • Links to artist details Albums Page • List of albums of selected artist • Checkbox and deletion of albums
Content publishing units A Web. ML unit is the atomic information publishing element A “view” defined upon a container of objects: The instances of a concept Based on one or more complex selection conditions (called selectors) A unit may need some inputs and produces some outputs Inputs are required to compute the unit itself (params of the selector) Outputs can be used to compute other unit(s) 29
Links Source Destination Links in Web. ML have 3 purposes Describe navigation paths Transport parameters between units Activate computation of units and execution of side effects Normally, links are rendered as one or more anchors/buttons based on the dataset and semantics of the source unit Various behaviors are allowed (automatic, asynchronous, transport. . ) Transport links: only carry parameters, no navigation nor side effects
Operation units Execution of operations and business logic Simple failure/success model of operations Success: green “OK link” is navigated Failure: red “KO link” is navigated Chains of operations can be defined Control dictated by links Basic control flow elements available (loop, switch) 31
Units coverage Content publishing Data Index Multi. Data Entry Session management Login Logout Get Scroller Multichoice Hierarchical. Index Web Services Set Request-Response …. CRUD Operations Create Modify Delete Connect Disconnect 32
Foundations and extensibility The language foundations Basic set of units Connection to a content model for data retrieval and management Links for control and data flow Page computation algorithms for execution semantics • The page content is automatically calculated also in case of complex topologies • Incoming links and dependencies among units are considered The language is open New units and operations can be specified For implementing ad-hoc business logics 33
Some relevant experiences IT industry worldwide web site + CMS and product catalogue www. acer. com www. packardbell. com Finance Web-based, multi country, End-to-end Front-Office Process Mgt platform Ecuador cooperative network cash flow compensation system Fashion & Furniture • Unsold items mgt system • Warehouse mgt system Energy & Utilities • Web-based security law compliance system • Green energy department internal knowledge base system Web-based, IT budget monitoring system Web site + CMS + online customer services Public Sector Electronic invoice mgt system Public transport pass e-ticketing system Mobile public portal • Web-based cash control system • Internal training system 34
Summary Web. Ratio is now at its 6 th major release (the 7 th due since the end of 2012) on the market since 2001 Web. Ratio customers 120+ companies and 500+ users in Italy, Europe and South America Web. Ratio adoption 15, 000+ users of the free edition Used in hundreds of universities all over the world Web. Ratio partners 40+ software houses and system integrators 300+ universities worldwide, 12. 000+ students
New book, May 2012 www. webratio. com
OMG IFML RFP Process Experiences and requirements for a User Interaction Modeling Language Marco Brambilla marcobrambi Politecnico di Milano and Web. Ratio
RFP Schedule Event or Activity Preparation of RFP by TF RFP placed on OMG document server Approval of RFP by Architecture Board Review by TC TC votes to issue RFP LOI to submit to RFP due Initial Submissions due and placed on server (4 week) Voter registration closes Initial Submission presentations Preliminary evaluation by TF Revised Submissions due and placed on svr. (4 week) Revised Submission presentations Final evaluation and selection by TF Recommendation to AB and TC Approval by Architecture Board Review by TC TC votes to recommend specification Bo. D votes to adopt specification Actual Date November 14, 2011 December 16, 2011 May 20, 2012 August 20, 2012 September, 2012 February, 2013 March 20, 2013 June, 2013 38
Mandatory requirements A MOF-compliant metamodel which describes the user interaction within frontend interfaces, their constituents, and their connections with back-end business components, data storage and Web Services. A concrete syntax for the interaction flow notation which provides an intuitive representation of the user interface composition, interaction and control logic for the front-end designer. • Specified through Diagram Definition A UML Profile consistent to the metamodel. A complete mapping between the UML Profile and the metamodel. An interchange format between tools using XMI. 39
Mandatory application requirements Multiple views for the same application Support for mobile and multi-device applications view components: the visualization and input of data, and the production of events. view components shall be independent of • the concrete widgets at PS level • the presentation aspects interaction flow, initiated by the user or by external events, in terms of: 1. a source component; 2. possibly, a reference to an action flow model specifying the actions triggered by the event; 3) one or more target view modules and components that are presented as the result of the interaction. Extensibility for components User context: the user status in the current instant of the interaction (position, history, machine, platform, …) 40
Mandatory application requirements Reference to content model items declarative specification of a data binding between a view component and a subschema of the Content Model Reference to atomic actions and actions orchestrations triggered by an event. Actions consist of business components and/or services that are invoked upon the event Outcome of actions and orchestrations and for describing how the view reacts to these outcomes Parameter passing dependencies Modeling capabilities for expressing the architectural tier where the business component triggered by an event is executed define Reference mechanism to role-based access control (RBAC) for describing access control rules to view components or modules mapping of the view components and modules at the PIM level to PSM artifacts 41
Issues to be discussed non-normative example models and accompanying explanatory text to illustrate the usage to define a typical front-end system for an application. Examples shall cover the metamodel, profile, concrete syntax and interchange format platform-independent semantics defining how the view is computed as the result of an event occurrence and of a possible action and/or orchestration invocation mapping of the view components and modules at the PIM level to PSM artifacts 42
Optional requirements Modularization of the model (design-time containers for reuse purposes of model fragments) User input validation, according to OCL or other existing constraint languages inference rules that make model specification simpler and more concise 43
Evaluation How compact and usable the proposed modeling language is How general and platform-independent the language and its concepts are The availability of a proof of concept implementation How compatible the proposal is with respect to existing, well-established practices in user interaction modeling 44
The Standardization Gap
Standardization gap A perceived gap in the standardization efforts User interaction has been overlooked in modeling proposals Previous attempts failed because of: • Low usability and effectiveness of notation • Missing solid implementations with vendors support 46
Web. ML in the OMG framework Exploit the possible relations with BPMN -- Already in place Structure models (Class, components, CWM …) SOAml Sys. ML Others Support the standardization Refine the metamodel Implement appropriate injectors to MOF-compliant models 47
The Standardization Effort: towards IFML
Objectives of IFML Expressing Content of interfaces User events and interaction Binding to business logic of the front-end of applications belonging to diverse domains 49
Advantages formal specification of the different perspectives of the front-end Isolate implementation-specific issues of UIs separation of concerns in the user interaction design enable the communication of interaction design to non-technical stakeholders automatic generation of code also for the application front-end part 50
Focus The VIEW part of a software application view components view modules events interaction between components Interaction between the user and the components (events) the distribution of view components and referenced data and business logic at the different tiers of the architecture 51
Mandatory requirements A MOF-compliant metamodel which describes the user interaction within frontend interfaces, their constituents, and their connections with back-end business components, data storage and Web Services. A concrete syntax for the interaction flow notation which provides an intuitive representation of the user interface composition, interaction and control logic for the front-end designer. • Graphical and textual alternative representations A UML Profile consistent to the metamodel. A complete mapping between the UML Profile and the metamodel. An interchange format between tools using XMI. 52
Mandatory application requirements Multiple views for the same application Mobile and multi-device applications Visualization and input of data, and production of events Components independent of concrete widgets and presenation Interaction flow, initiated by the user or by external events User context: the user status in the current instant of the interaction (position, history, machine, platform, …) Modularization of the model (design-time containers for reuse purposes of model fragments) User input validation, according to OCL or other existing constraint languages But not: inference rules that make model specification simpler and more concise 53
The IFML metamodel - 1 54
The IFML metamodel - 2 55
The IFML metamodel - 3 56
The UML profile for IFML Static aspects 57
The UML profile for IFML Static aspects Signals with tagged values Dynamic aspects 58
IFML concrete syntax by example 59
IFML concrete syntax by example 60
IFML concrete syntax by example 61
IFML concrete syntax by example 62
A real example. . The complete Gmail UI 63
- Slides: 63