Presentation is loading. Please wait.

Presentation is loading. Please wait.

IWWOST’01 Valencia June 01 User Interface Modeling and Specification in an Object Oriented Environment for Automatic Software Development Isidro Ramos.

Similar presentations


Presentation on theme: "IWWOST’01 Valencia June 01 User Interface Modeling and Specification in an Object Oriented Environment for Automatic Software Development Isidro Ramos."— Presentation transcript:

1 IWWOST’01 Valencia June 01 User Interface Modeling and Specification in an Object Oriented Environment for Automatic Software Development Isidro Ramos Polytechnic University of Valencia -SPAIN- Isidro Ramos Polytechnic University of Valencia -SPAIN-

2 IWWOST’01 Valencia June 01 Contents : b Motivation. b Introduction. b User Interface Development Environments. State of the Art. b Generic Architecture. b IDEAS: Interface Development Environment within OASIS. b Ontological Model of IDEAS. b Conclusions. b Motivation. b Introduction. b User Interface Development Environments. State of the Art. b Generic Architecture. b IDEAS: Interface Development Environment within OASIS. b Ontological Model of IDEAS. b Conclusions.

3 IWWOST’01 Valencia June 01 Motivation:Motivation: b Fill the existing gap in most of the current software development methodologies. b Incorporate a user-oriented development. b User Interface Generation within a methodological and formal support. b Fill the existing gap in most of the current software development methodologies. b Incorporate a user-oriented development. b User Interface Generation within a methodological and formal support.

4 IWWOST’01 Valencia June 01 Introducción II: u Development Process integrated in an object oriented software development environment: H OASIS: Object oriented Model H UML: Object oriented Methodology. u IDEAS: Enriches the model by integrating a specific model for user interface generation. u This approach includes graphical diagrams to represent the different aspects of the user interface. u Development Process integrated in an object oriented software development environment: H OASIS: Object oriented Model H UML: Object oriented Methodology. u IDEAS: Enriches the model by integrating a specific model for user interface generation. u This approach includes graphical diagrams to represent the different aspects of the user interface.

5 IWWOST’01 Valencia June 01 Introduction:Introduction: Main Goal: Present a formal and methodological approach for the specification of user interfaces integrated in the software development process. Object-Oriented approach which covers the phases of ImplementationDesignAnalysis User Interface Model: 1) Task Model 2) User Model 3) Domain Model 4) Dialog Model * Object-Oriented Specification Language OASIS-UI 5) Presentation Model * Model-Based Code Generation

6 IWWOST’01 Valencia June 01 User Interface Development Environments. State of the Art. u User Interface Software Tool.Classification: H Language-Based Tools: Require to program in a special purpose language. H Interactive Graphic Specification Tools: They allow an interactive user interface design. H Model-Based Generation Tools: They use a model or high-level specification to generate the UI automatically. u Main Features: H Use of Declarative Models to describe all the aspects related to the user-system interaction. H Automatic Generation of the UI starting from the models. u User Interface Software Tool.Classification: H Language-Based Tools: Require to program in a special purpose language. H Interactive Graphic Specification Tools: They allow an interactive user interface design. H Model-Based Generation Tools: They use a model or high-level specification to generate the UI automatically. u Main Features: H Use of Declarative Models to describe all the aspects related to the user-system interaction. H Automatic Generation of the UI starting from the models. Model: Declarative Specification of the structure and behavior of a software element. Declaratives because they do not contain procedural code but descriptions with high level of abstraction.

7 IWWOST’01 Valencia June 01 User Interface Development Environments. State of the Art II. u Advantages of the Model-Based approach: H User-centered development process. H Centralised UI specification. H Design tools for an interactive and automated development. H UI design reuse. u Criteria for a UI tool to be considered a Model-based development environment: (1) It must include a high level, abstract and explicitly represented (declarative) model about the system under development. (2) It must clearly establish a technologically well supported relation between (1) and the final running UI. u Advantages of the Model-Based approach: H User-centered development process. H Centralised UI specification. H Design tools for an interactive and automated development. H UI design reuse. u Criteria for a UI tool to be considered a Model-based development environment: (1) It must include a high level, abstract and explicitly represented (declarative) model about the system under development. (2) It must clearly establish a technologically well supported relation between (1) and the final running UI.

8 IWWOST’01 Valencia June 01 Generic Architecture:

9 IWWOST’01 Valencia June 01 User Interface Development Environments. State of the Art III.

10 IWWOST’01 Valencia June 01 IDEAS: Interface Development Environment within OASIS

11 IWWOST’01 Valencia June 01 Domain ModellingSolution Specification DEVELOPMENT PROCESS Domain Model (ARCA) Task Analysis User Interface Model Task Model Dialog Model Presentation Model System Design (OASIS) Application Code Generation User Interface Design (OASIS+IU) Final Application User Interface Code Generation Use Cases User Model

12 IWWOST’01 Valencia June 01 Model Traceability refine Vertical structuring Abstraction level i Abstraction level i+1 view i view j view k Horizontal structuring Model Development

13 IWWOST’01 Valencia June 01 The development process Abstract Model Abstract Specification Design Model Desing Specification traceability reification Methodological ApproachFormal Support (Oasis)

14 IWWOST’01 Valencia June 01 Model Architecture implements to entities actions / actors actands bussiness policies bussiness objects abstract syncronization abstract valuations bussiness rules design objects design syncronization design valuations desing rules Formal support Design level requirement level Structural view Dynamic view Functional view Deontic view Ontological model Abstract model Design model Semantical modeling STD,CCS dinamic logic deontic logic implements to analysis level

15 IWWOST’01 Valencia June 01 REQUIREMENTS MODEL

16 IWWOST’01 Valencia June 01 User Interface Models : Domain Model: H H It represents the system entities, its attributes, methods and relationships. H H Model used by Object Oriented Methodologies to describe the Information System. H H Strong relation with UI Models.

17 IWWOST’01 Valencia June 01 The Ontology b What is an ontology? u The specification of a conceptualization (knowledge sharing) u A “ set of terms of interest in a particular information domain (T) and the relationships (R) among them” (ontological commitments) u T = {t 1,t 2,...t n } ; R = {r 1,r 2,...r n } u t i = (tt i, ter i ); tt i  TT ; u r i = (tr i, ti i tf i ) and tr i  T R; u TT = {predicator thing, action, actor, rule} u TR = {execute, actand, use, extend, etc.} b FRISCO + UML ( extended use case) b What is an ontology? u The specification of a conceptualization (knowledge sharing) u A “ set of terms of interest in a particular information domain (T) and the relationships (R) among them” (ontological commitments) u T = {t 1,t 2,...t n } ; R = {r 1,r 2,...r n } u t i = (tt i, ter i ); tt i  TT ; u r i = (tr i, ti i tf i ) and tr i  T R; u TT = {predicator thing, action, actor, rule} u TR = {execute, actand, use, extend, etc.} b FRISCO + UML ( extended use case)

18 IWWOST’01 Valencia June 01 The Task/Domain Model Requirements Level Example: Rent a Car Rent a Car Agency Administrator Client Car TopNumberOf Cars Client Rent >

19 IWWOST’01 Valencia June 01

20 User Interface Models I: Task Model: H H It defines the ordered set of activities and actions the user has to perform to achieve a concrete purpose or goal. H H Artifact: essential for task development. H H Artifact: modeled as objects and represented in the domain model. H H Strong relation between the task model and the domain model. u u Task Description: H H Objective. H H Ordered set of actions necessary to achieve the goal. H H Artifacts involved in the task.

21 IWWOST’01 Valencia June 01 Task Model: Template (Example: Car Rental) Task: Rent a car. GENERAL FEATURES: GOAL: The administrator rents a car to the client. PRECONDITION: - The car is available. - The car is in good conditions. - The client has not more cars than permitted SUCCESS CONDITIONS: - The administrator checks the car’s availability and state. - The administrator brings the client´s state up to date. - The client receives the solicited car. FAILURE CONDITIONS: - The car is not available. - The client already has remted the maximum number of cars permitted. PRIMARY ACTORS: Client, Car. SECONDARY ACTORS: Administrator. TRIGGER ACTION: The client request to rent a car. NORMAL SCENARIO:.The client request to rent a car..The administrator checks the state and the availability of the requested car..The administrator checks that the client has not rented the top number of cars permitted..The administrator gives the client the car..The client receives the requested car. VARIANTS:.The car is not available..The car is not in good state..The client already has the top number of cars permitted to rent. RELATED INFORMATION: Priority: High Duration: 15 mins. Frequency: 10/day.

22 IWWOST’01 Valencia June 01 User Interface Models III: User Model: H H It describes the characteristics of the different types of users. H H Purpose: Support the creation of individual and personalised User Interfaces. H H Adapted UI: The user model represents the different roles of a user (supervisor, administrator, employee). H H Adaptative UI: Depends on the type of user (child, adult, handicapped). H H User characteristics: 4 4 Application Independent (child, adult, handicapped). 4 4 Application Dependent (supervisor, administrator, employee).

23 IWWOST’01 Valencia June 01 User Model II: H For each kind of user, the set of tasks he/she can perform is established. H For each kind of user in relation with a concrete task, a projection /specialitation on the actions within the task that he/she can perform is established. H Depending on the user’s particular characteristics (child, adult, etc.), the information and the interaction established by the Dialog Model to show the information contained in the Domain Model is adapted to the user. User Model II: H For each kind of user, the set of tasks he/she can perform is established. H For each kind of user in relation with a concrete task, a projection /specialitation on the actions within the task that he/she can perform is established. H Depending on the user’s particular characteristics (child, adult, etc.), the information and the interaction established by the Dialog Model to show the information contained in the Domain Model is adapted to the user. User Interface Models III:

24 IWWOST’01 Valencia June 01 USER MODEL Scenarios(Tasks): e 1 =a a 1n1 A I ={a ij, i={1..m} j={1..nm} } e 2 =a a 2n2 e i  A *....E={e 1,..., e m }  A * e m =a m1... a mnm A * ={a ij, a i1j1,... a ikjk / a  A}  : A *  A * A *  (A) = { , {a 11 }, {a 12 },..., {a 11, a 12 },...}  (E) = { , {e 1 },..., {e n },..., {e 1,e 2 },... {e 1,..., e m } } Users: U = {u 1,..., u k } User Model: (1)- R: U  (E) P. Ej.: R(U 1 ) = {e 1, e 2 }; R(U 2 ) =  ; R(U 10 ) = {e 1,..., e m } (2)- e i = a i1,..., a ini P  (A) : E Ex.: P  (A) (  ) =  P  (A) (a  Re) = if a   (A) then a  P  (A) (Re) else P  (A) (Re) (3)- User Type : MDial.(str.)  : MDial.(behav.) R’: U View (MDom.) MDom.(str.) E A*A*

25 IWWOST’01 Valencia June 01 ANALYSIS MODEL

26 IWWOST’01 Valencia June 01 The Interface Model (Analysis level) collaboration view 1 Communication protocol with the user Request Car ReturnCar administrator aRental: RentalCar If ¬(totalContract < nrocarClient) “Client exceeds top of cars”

27 IWWOST’01 Valencia June 01 The Interface Model Analysis Level: (X,P)-analysis collaboration view 2 aClient: Client aCar: Car01 RequestCar ReceiveCar administrator GiveCar ChargeToAccount aRental: RentalCar ReturnCar DischargeCar responsabilities of the object community for achiving the task

28 IWWOST’01 Valencia June 01

29 The Interface Analysis Model: (A,alfa)-analysis role view 1 Client identification totalcontrats ReceiveCar ReturnCar Car01 registrationNumber fare state conditions GiveCar ReturnCar 0,1 RentalClient 0,* RentalObject - Abstract action vocabulary - Class by aspect (role)

30 IWWOST’01 Valencia June 01

31

32 Role Object Structure (object role pattern) Car Rental Object Active Sale Object class ClassCore ClassRole1ClassRole2 ClassRole Instance of TaxPayment RentalCar SaleCar

33 IWWOST’01 Valencia June 01 Abstract Specification b An activivity class b Several resource classes b An activivity class b Several resource classes

34 IWWOST’01 Valencia June 01 OASIS class template a)Type ( A, X, alfa, P ) A : Attributes X : Events alfa : cuasi-functions (dynamic logic) P : Process a)Type ( A, X, alfa, P ) A : Attributes X : Events alfa : cuasi-functions (dynamic logic) P : Process

35 IWWOST’01 Valencia June 01 Activity Type Class Specification Class AlquilarVehiculo participants c: Cliente as alquilador ; v: Vehiculo01 as objeto_alquiler; constants attributes plazoLimAlquiler : nat; nroVehCliente : nat; events solicitarVehiculo(nroDias) calling with members c.cargarVehiculo(); v.entregarVehiculo(nroDias); recibirVehiculo(fechaEntrega) calling with members c.descargarVehiculo(); v.devolverVehiculo(fechaEntrega); preconditions solicitarVehiculo if (c.totalContrato < nroVehCliente) exception(“Cliente excede tope de vehiculos ”); end class AlquilarVehiculo participants c: Cliente as alquilador ; v: Vehiculo01 as objeto_alquiler;

36 IWWOST’01 Valencia June 01 Resources Class Type Specification Class Vehiculo01 played byClass Cliente Vehiculo (objetoAlquiler)identification identification nit : (nit); codigo : (codigo);constant attributes constant attributes nit :nat; codigo : nat; nombre : string modelo : nat; variable attributes marca : String; totalVehiculos : nat(0); variable attributesevents tarifa : nat; cargarVehiculo( ); disponible : bool(true); descargarVehiculo( ); estadoActual : string;valuations events [cargarVehiculo] totalVehiculos += 1; entregarVehiculo( ); [descargarVehiculo] totalVehiculos += -1; devolverVehiculo( );end class Cliente valuations [entregarVehiculo] disponible = ‘false’; [devolverVehiculo] disponible = ‘true’ end Class Vehiculo01 Class Vehiculo01 played byClass Cliente Vehiculo (objetoAlquiler)identification identification nit : (nit); codigo : (codigo);constant attributes constant attributes nit :nat; codigo : nat; nombre : string modelo : nat; variable attributes marca : String; totalVehiculos : nat(0); variable attributesevents tarifa : nat; cargarVehiculo( ); disponible : bool(true); descargarVehiculo( ); estadoActual : string;valuations events [cargarVehiculo] totalVehiculos += 1; entregarVehiculo( ); [descargarVehiculo] totalVehiculos += -1; devolverVehiculo( );end class Cliente valuations [entregarVehiculo] disponible = ‘false’; [devolverVehiculo] disponible = ‘true’ end Class Vehiculo01 Class Vehiculo01 played by Vehiculo(objetoAlquiler)

37 IWWOST’01 Valencia June 01

38 Design Phase : Dialog Model OASIS+IU Specification Dialog Model OASIS+IU Specification Interface Model - Analysis - - Design - Object Oriented User Interface Specification Language


Download ppt "IWWOST’01 Valencia June 01 User Interface Modeling and Specification in an Object Oriented Environment for Automatic Software Development Isidro Ramos."

Similar presentations


Ads by Google