Скачать презентацию Generating User Interfaces From Formal Specifications of the Скачать презентацию Generating User Interfaces From Formal Specifications of the

9ce8534aaba9ba5df8f3e3aec123da1f.ppt

  • Количество слайдов: 30

Generating User Interfaces From Formal Specifications of the Application Bernhard Bauer Institut für Informatik Generating User Interfaces From Formal Specifications of the Application Bernhard Bauer Institut für Informatik Technische Universität München Germany Bernhard Bauer, TU München 1 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Overview • Introduction • UI Development: – Layers of a system with a UI Overview • Introduction • UI Development: – Layers of a system with a UI – Possible Starting Points for Generation Process • Generation Steps • Example: An Intuitive Access to the Generation of Dynamics Specification • Conclusions Bernhard Bauer, TU München 2 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Introduction • user interface construction is a – time consuming – error prone and Introduction • user interface construction is a – time consuming – error prone and therefore – expensive task • but – individual software should be cheap – secure, since the whole interaction is via the UI • necessary – generation of UIs – " I tell you what, you work it out " Bernhard Bauer, TU München 3 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Three Layers of Systems with a UI • application interface (functional core) appointed functionality Three Layers of Systems with a UI • application interface (functional core) appointed functionality supported by the UI • dialogues (dynamics) all possible dialogues (layout-independent way) • presentation (layout) user is interacting with we start with the application Bernhard Bauer, TU München 4 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Possible Starting Points for UI Generation • informal specification of application – no machine Possible Starting Points for UI Generation • informal specification of application – no machine support • implementation of application – to low level – to many design decisions • formal specification of application – computer supported analysation of the specifications – elucidating the problem and – consideration of correctness aspects of the obtained software. Bernhard Bauer, TU München 5 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

UI Design Decision Classes [Larson 92] • the structural and functional decision class determine UI Design Decision Classes [Larson 92] • the structural and functional decision class determine the end users’ conceptual model (abstract data type), • the dialogue decision class determines the dialogue style (to be automated) and • the presentation and pragmatic decision class determines the refinement of the end users’ conceptual model and dialogue style (BOSS). Bernhard Bauer, TU München 6 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Architecture Formal Specification of Application Formal Specification of Dialogue-Styles FLUID Formal Specification of UI Architecture Formal Specification of Application Formal Specification of Dialogue-Styles FLUID Formal Specification of UI Dynamics BOSS Bernhard Bauer, TU München 7 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Architecture Formal Specification of Dialogue-Styles Formal Specification of Application FLUID Formal Specification of UI Architecture Formal Specification of Dialogue-Styles Formal Specification of Application FLUID Formal Specification of UI Dynamics BOSS Bernhard Bauer, TU München 8 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Algebraic Specifications An algebraic specification consists of • a signature = (S, C, F) Algebraic Specifications An algebraic specification consists of • a signature = (S, C, F) with – a set of sort symbols S, – a set of constructor symbols C and – a set of function symbols F with parameter restrictions. • a set of axioms of the form t = r with terms t and r. add: • interface functions - to be supported by the UI • observable sorts - visible to the end-user Bernhard Bauer, TU München 9 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Example: ISDN-Telephone Application: usual IDSN-telephone Restrictions: • each telephone call is realized • telephone Example: ISDN-Telephone Application: usual IDSN-telephone Restrictions: • each telephone call is realized • telephone number is modelled by natural number • no switching between two participants Bernhard Bauer, TU München 10 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

spec ISDN-Application = enrich NAT by sorts Connection, CState, State obs-sorts Nat cons mk. spec ISDN-Application = enrich NAT by sorts Connection, CState, State obs-sorts Nat cons mk. State: Connection, Connection -> State, mt. Con: -> Connection, mk. Con: Nat, CState -> Connection, waiting, telephoning: -> CState opns call: Nat, x 1: State. pre. empty. Connections(x 1) = true -> State, second. Call: Nat, x 2: State. pre. single. Connections(x 2) = true -> State, conference: x 3: State. pre. double. Connections(x 3) = true -> State, end. Calls: State -> State, empty. Connections: State -> Bool, single. Connections: State -> Bool, double. Connections: State -> Bool interface functions call, second. Call, conference, end. Calls Bernhard Bauer, TU München 11 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

axioms empty. Connections(mk. State(mt. Con, mt. Con)) = true, empty. Connections(mk. State(mk. Con(nr, cs), axioms empty. Connections(mk. State(mt. Con, mt. Con)) = true, empty. Connections(mk. State(mk. Con(nr, cs), c)) = false, single. Connections(mk. State(mk. Con(nr, cs), mt. Con)) = true, single. Connections(mk. State(mt. Con, c)) = false, single. Connections(mk. State(mk. Con(nr, cs), mk. Con(nr, cs))) = false, double. Connections(mk. State(mk. Con(nr, cs), mk. Con(nr, cs))) = true, double. Connections(mk. State(c, mt. Con)) = false, call(nr, s) = mk. State(mk. Con(nr, telephoning), mt. Con), second. Call(nr, call(nr 2, s)) = mk. State(mk. Con(nr 2, waiting), mk. Con(nr, telephoning)), conference(second. Call(nr, call(nr 2, s))) = mk. State(mk. Con(nr, telephoning), mk. Con(nr 2, telephoning)), end. Calls(s) = mk. State(mt. Con, mt. Con) endspec Bernhard Bauer, TU München 12 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

A Generation Process consists of • solving the parameter restrictions with theorem-provers, • constructing A Generation Process consists of • solving the parameter restrictions with theorem-provers, • constructing the dependency graphs, • instantiating the dependency graphs with the solutions of the parameter restrictions, • merging the instantiated dependency graphs, • converting the obtained graph into BOSS notation. Bernhard Bauer, TU München 13 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Solving the Parameter Restrictions To be solved: • call: empty. Connections(x 1) = true Solving the Parameter Restrictions To be solved: • call: empty. Connections(x 1) = true solution: x 1 = mk. State(mt. Con, mt. Con) • second. Call: single. Connections(x 2) = true solution: x 2 = mk. State(mk. Con(nr, telephoning), mt. Con) • conference: double. Connections(x 3) = true solution: x 2 = mk. State(mk. Con(nr, waiting), mk. Con(nr 2, telephoning)) Bernhard Bauer, TU München 14 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Construction of the Dependency Graph Bernhard Bauer, TU München 15 CADUI'96 - 5 -7 Construction of the Dependency Graph Bernhard Bauer, TU München 15 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Construction of the Dependency Graph Bernhard Bauer, TU München 16 CADUI'96 - 5 -7 Construction of the Dependency Graph Bernhard Bauer, TU München 16 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Construction of the Dependency Graph Bernhard Bauer, TU München 17 CADUI'96 - 5 -7 Construction of the Dependency Graph Bernhard Bauer, TU München 17 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Construction of the Dependency Graph Bernhard Bauer, TU München 18 CADUI'96 - 5 -7 Construction of the Dependency Graph Bernhard Bauer, TU München 18 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Instantiation of the Dependency Graph Bernhard Bauer, TU München 19 CADUI'96 - 5 -7 Instantiation of the Dependency Graph Bernhard Bauer, TU München 19 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Instantiation of the Dependency Graph Bernhard Bauer, TU München 20 CADUI'96 - 5 -7 Instantiation of the Dependency Graph Bernhard Bauer, TU München 20 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Instantiation of the Dependency Graph Bernhard Bauer, TU München 21 CADUI'96 - 5 -7 Instantiation of the Dependency Graph Bernhard Bauer, TU München 21 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Instantiation of the Dependency Graph Bernhard Bauer, TU München 22 CADUI'96 - 5 -7 Instantiation of the Dependency Graph Bernhard Bauer, TU München 22 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Derivation in the Dependency Graph Bernhard Bauer, TU München 23 CADUI'96 - 5 -7 Derivation in the Dependency Graph Bernhard Bauer, TU München 23 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Derivation in the Dependency Graph Bernhard Bauer, TU München 24 CADUI'96 - 5 -7 Derivation in the Dependency Graph Bernhard Bauer, TU München 24 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Merging the Dependency Graph Bernhard Bauer, TU München 25 CADUI'96 - 5 -7 June Merging the Dependency Graph Bernhard Bauer, TU München 25 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Converting in BOSS Notation Bernhard Bauer, TU München 26 CADUI'96 - 5 -7 June Converting in BOSS Notation Bernhard Bauer, TU München 26 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Part of FUSE System FUSE FLUID BOSS PLUG-IN Bernhard Bauer, TU München 27 CADUI'96 Part of FUSE System FUSE FLUID BOSS PLUG-IN Bernhard Bauer, TU München 27 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Conclusion • Advantages – – generation of the UI dynamics from the application UI Conclusion • Advantages – – generation of the UI dynamics from the application UI and application development go hand in hand consideration of correctness aspects output for UI generator BOSS • Shortcomings – use of theorem provers – necessary: formal specification of the application – not yet implemented Bernhard Bauer, TU München 28 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Conclusion (continued) • Future research directions: – Embedding of the presented idea in OO-SE-Process Conclusion (continued) • Future research directions: – Embedding of the presented idea in OO-SE-Process (BON-approach, Java) – starting implementations – larger examples Bernhard Bauer, TU München 29 CADUI'96 - 5 -7 June 1996 - FUNDP Namur

Thank you for your attention! Bernhard Bauer, TU München 30 CADUI'96 - 5 -7 Thank you for your attention! Bernhard Bauer, TU München 30 CADUI'96 - 5 -7 June 1996 - FUNDP Namur