320 likes | 408 Views
Development of Rigorous Adaptive Information Systems. Dr. Nasreddine Aoumeur FIN, ITI, DB group aoumeur@iti.cs.uni-magdeburg.de Course Site: wwwiti.cs.uni-magdeburg.de/~aoumeur wwwiti.cs.uni-magdeburg.de/iti_db/lehre/oois/inde. Information Systems: Working definition.
E N D
Development of Rigorous Adaptive Information Systems Dr. Nasreddine Aoumeur FIN, ITI, DB group aoumeur@iti.cs.uni-magdeburg.de Course Site: wwwiti.cs.uni-magdeburg.de/~aoumeur wwwiti.cs.uni-magdeburg.de/iti_db/lehre/oois/inde ... Information Systems
Information Systems: Working definition • reactive systems (i.e. in continuous interaction with their environment), with • large amount of immutable and non-immutabledata(i.e. fixed and changing) and, with • processes and activities for exhibiting behaviors on these (state-less and –full) data. ... Information Systems
Different generations of CMs : “Entity first” Entity-Relationship[1973..] - Intuitive / Simple - Revolutionary for IS - UoD : Entities+Relations - Mathematically sound - Rich abstraction mechnanisms - Different variants (NIAM / SADT / MERISE / ..) IS Conceptual Model State-less and -ful DATA Process-centric Formalisms - CCS, CSP, DFD, Petri Nets, .. - Synchronous / asynchronous - Mathematically sound - Executable / operational Processes and Rules ... Information Systems
Different generations of CMs : “Object first” Object Paradigm[1980..] - Really Intuitive / highly accepted - Object (Id, structure / dynamic) - UoD : Interacting objects community - Rich abstraction mechnanisms (e.g. Class, inheritance, role, aggregation, ..) - Different formal interpretations IS Conceptual Model State-less and -ful DATA Behavior-centric OO Formalisms - OO Petri Nets, Mondel, JSD.. - Mathematically sound - Executable / operational / concurrent - Cope with data and process around objects Processes and Rules ... Information Systems
Current generation of CMs : “Interaction first” Aspect/archietctural Paradigm - Explicit separation between Coordination and computation - Separation between what is evolving from what is stable - Dynamic shifting-down / up of changing behavior - Suitable for services and mobility IS Conceptual Model Aspect-/connector-/meta-level All What is : - Evolving (business rules, market laws, cross-organizational policies, …) - Cross-Cutting (security, management,..) - Non-functional (availability, performance,..) Stable and invariant entities Dynamically weaving Entity Interfaces ... Information Systems
First generation of CMs : “Entity first” E/R Conceptual Model Entity Name Attribute1 : Type1 Attribute2 : Type2 .... Attributei : Typei n-m PART i-j Assoc m Entit(ies) Property1 ..... IS-A n Entit(ies) Processes and Rules ... Information Systems
First generation of CMs : “Entity first” E/R Conceptual Model (Running) Account Number : Nat Balance : Money Limit : Money History : List[Date,Money] Customer Name : String Birth-Date : Date Address : Address Income : Money 1-2 0-N Own Open-Date Bank IS-A Saving Account Number : Nat Interest : Percent Balance Processes and Rules Account USE : First open --- then deposit – then (withdraw-deposit)* - then Close-or-be-closed ... Information Systems
First generation of CMs : “Entity first” E/R Conceptual Model AutomaticTellerMachine ATM-Reference : String Cash : Hidden Bank : String Transaction : List[Money] History :List[Card-Nb,Acnt-Nb,Money Customer Name : String Withdraw 1-2 0-N Amount Date Bank-Card Number : Nat Account-Nb: Nat Code : String Processes and Rules ATM-use : First enter-card – then enter-code – then enter-transaction—get money ... Information Systems
First generation of CMs : “Entity first” E/R Conceptual Model Book Reference : String Name : String Author : String Publisher : String Student Name : String Subscription-Nb Semester Borrow 0-N 0-3 Date-Out Date-Back Processes and Rules First subscribe-- Get library-card – (Borrow – Return –or– Penality)*--(be)Unsubscribe(d) ... Information Systems
First CM generation : Process With Petri Nets What is a behavioral process in IS---at the highest-abstract-level? • States (instances) : In terms of (un-)availability. That a state instance is regarded as a resource • Example : An account (instance) is a resource, a book (instance) is a resource. • (State-based) Actions: The allowed ordering causality between states (instances) via actions (i.e. operations, methods). • Example : First open-account, then deposit then looping withdraw-depsit-then close ... Information Systems
First CM generation : Process With Petri Nets • Author :Carl-Adam Petri Live currently in Hamburg (honorary Professor at the Univ.) • History:Model introduced by C.A. Petri in 1962 • (Physics) Ph.D. Thesis: “Communication with Automata” • PNs Applications:Distributed computing, manufacturing, control, information systems, communication networks, transportation… • Purpose: PNs specify / validate / verify explicitly and graphically: • sequencing/causality actions on states • conflict/non-deterministic choice actions • True concurrency actions on states ... Information Systems
First CM generation : Process With Petri Nets (Introductory) Reference: • Tadao Murata. “Petri nets: Properties, Analysis and Applications.” Proc. of the IEEE, 77(4), 1989. • Wolfgang Reisig, “Petri Nets”, Springer, EATCS Monographs on Theoretical Computer Science, 1985 (Also in German). ... Information Systems
First CM generation : Process With Petri Nets Conceptual philosophy under Petri nets: • In any system, we have resources • Artifact-based resources : data, objects, events, • Real resources : printers, buffers, CPUs • There is generally, a number of available instances for each kind of resource in the system. • Actions (behavior, dynamics) in the system allows: • consuming (using) some resources and • producing new ones or updating existing ones (under some conditions). ... Information Systems
First CM generation : Petri Nets Concepts • With each kind of ressource is described by: • a PLACEgraphically as circle is associated • Ressource instances are included as: • BLACK DOTS (called TOKENS) within the corresponding ressource kind place. • Actions called TRANSITIONS are: • graphically represented as a BOX or RECTANGLE. • Ressources consumption are captured by: • INPUT ARCS---valuted or inscribed by the numbers of required ressouces--- From the corresponding ressource place to the associated action box. • Ressources production or changes are captured by: • OUTPUT ARCS---valuted or inscribed by the numbers of produced ressouces--- From the associated action box to the corresponding target resource place PETRI NETS ARE BIPARTITE GRAPHS ... Information Systems
First CM generation : Petri Nets Concepts P1 INPUT place with five (5) tokens as Marking INPUT arc with two (2) (required tokens) as arc-inscription 2 T1 Transition named T1 4 OUTPUT arc with Four (4) (produced tokens) as arc-inscription P2 30 OUTPUT place with thirty (30) tokens as marking ... Information Systems
First CM generation : Petri Nets Illustrations ToOpen BankOK Closed OpenAcnt AcntState Deposit Opened Deposit Transfert Withdraw ... Information Systems
First CM generation : Petri Nets Illustrations Penality2Pay ToBorrow Books@Library 30 6 1 1 Card Return Return&Penalty Borow 1 ToReturn Borrowed-Books ... Information Systems
First CM generation : Petri Nets Strenghts and choice ... Information Systems
First CM generation : Petri Nets Strenghts ... Information Systems
First CM generation : Petri Nets Typical Use CommunicationProtocols Receive msg Send msg ToReceive ToSend Send Ack Receive Ack ... Information Systems
First CM generation : Petri Nets Typical Use Operating Systems Produce Buffer Consume ... Information Systems
First CM generation : Petri Nets Typical Use Embedded Systems Machine-Items Coins 3$ 4$ 2$ GetWater GetCigarette GetCaffe Caffe 25P Water Cigarette 75P Change ... Information Systems
First CM generation: Petri Nets Formalisms A Petri nets in a five tuples PN = (P, T, W, M0) • P = {p1,p2, ....,pn} is a finite sets of places (circles) • T = {t1, t2, ...,tq} is a finite set of transitions (boxes) • F (P x T) (T X P) is a finite set of arcs. An input (resp. output) ) arc joins a place to transition (resp. transition to place). NEVER PLACE TO PLACE or TRANSITION TO TRANSITION. • W : F {1,2,...} is a weight function attached to the arcs. If the weight in missing it is implicitly one. • M0 : P {0,1,2,....} is the intial marking. M0(p), p P is the marking (i.e. numbers of tokens) of the place p. ... Information Systems
First CM generation: Petri Nets Formalisms Notations : • t : the set of input places of transition t. that is the set of places p such that (p,t) F. • t : the set of output places of transition t. That is, p such that (t,p) F. • p : the set of input transitions of place p. that is the set of transitions such that (t,p) F. • p : the set of output places of transition t. That is, t such that (p,t) F. ... Information Systems
First CM generation: Petri Nets Dyanmisms Dynamics of Petri nets : • A transtion t is said to be enabled if, whatever p t , p contains a number of tokens greater of equal than W(p,t) (i.e. M(p) W(p,t)) • Firing an enabled transition t, consists in : • Removing W(p,t) tokens from each p t • Adding W(t, p) tokens from each p t • That is, M‘(p) = M(p) – W(p,t) + W(t,p) • A sequence of transitions firing is generally represented by = <ti1, ti2 , ....., tik>, and • We say that the corresponding resulting marking is: M0 -- --Mk ... Information Systems
First CM generation : Petri Nets Dynamisms Operating Systems Animated Produce Buffer Consume ... Information Systems
First CM generation : Petri Nets Dynamisms Embedded Systems Animated Machine-Items Coins 10 7 2 6 18 3$ 4$ 5$ GetWater GetCigarette GetCaffe Cigarette Caffe 25P Water 2 1 1 1 75P Change 175 100 ... Information Systems
First CM generation : Petri Nets Dynamisms Chimical Reactions : 2H2 + O2 2H2O 2 t H2 2 H2O O2 ... Information Systems
First CM generation : Petri Nets Internals Incidence matrix : A = [aij] • is an n m matrix of integers • its typical entry is given by aij = aij+ - aij- • Where aij+ = w(T,P) is the weight of the arc from transition T to its output place P • and aij- =w(P.T) is the weight of the arc from the input place P to the transition T. ... Information Systems
First CM generation : Petri Nets Internals • Given an initial marking M0, let be a firiable sequence of transitions which applies to M0. • The counting vector V of is the vector V = [v1,v2,..,vj,...vq] is the numbers of times tj is included in . • If M is the marking obtained by firing , then: • Mt = M0t + AVt. With t denotes the transpose. ... Information Systems
First CM generation : Petri Nets Internals Illustration: t4 t1 t2 p2 p1 4 2 t3 p3 2 2 p4 ... Information Systems
First CM generation : Petri Nets Internals t1 t2 t3 t4 p1 1 -2 -1 0 • A = p20 4 0 -1 p30 0 1 -1 p40 0 -2 2 Let M0 = [3,0,0,2] and = <t2,t3,t4>, that is V= [0,1,1,1] . Then M = [0, 3, 0, 2] using the formulas. ... Information Systems