Software Arkitektur - anno 2002

Størrelse: px
Starte visningen fra side:

Download "Software Arkitektur - anno 2002"

Transkript

1 Software Arkitektur - anno 2002 Faglig aften i datalogforeningen Århus den 24. januar 2002 Finn Overgaard Hansen Ingeniørhøjskolen i Århus ( Elektro- og IKT-afdelingen foh@e.iha.dk

2 Agenda Introduktion Hvorfor er arkitektur vigtig Udvikling inden for SW design State of the Art Architectural Styles Architectural- and Design Patterns Frameworks Nyere arkitektur begreber Dokumentation vha. views og udviklingsproces Opsummering SW arkitektur, 24. januar

3 Jørn Utzons Opera House Sydney Cost $AU 102,000,000 to build. Includes 1000 rooms. Is 185 m long and 120 m wide. Has 2194 pre-cast concrete sections as its roof. Has roof sections weighing up to 15 t. Has roof sections held together by 350 kms of tensioned steel cable. Has over 1 million tiles on the roof. Uses 6225 square metres of glass and 645 kilometres of electric cable. Was designed by Danish architect Jørn Utzon. Was opened 20 October SW arkitektur, 24. januar

4 Spreckelsens Grand Arche Paris Stod færdig i 1989, 200 år efter revolutionen! skulptur af Niki de Saint Phalle SW arkitektur, 24. januar

5 SW arkitektur en uformel skitse Real-time communication p1 pipe p2 pipe p3 Database access X-windows ADT (abstract data types) SW arkitektur, 24. januar

6 Udfordringer inden for SW udvikling SW arkitektur, 24. januar

7 Udfordringer inden for SW udvikling Stigende kompleksitet SW arkitektur, 24. januar

8 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market SW arkitektur, 24. januar

9 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market Større projekter flere skal arbejde sammen mere specialisering SW arkitektur, 24. januar

10 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market Større projekter flere skal arbejde sammen mere specialisering Fra stand alone systemer til netværk af distribuerede systemer SW arkitektur, 24. januar

11 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market Større projekter flere skal arbejde sammen mere specialisering Fra stand alone systemer til netværk af distribuerede systemer Fra enkeltstående apparater til produktlinier SW arkitektur, 24. januar

12 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market Større projekter flere skal arbejde sammen mere specialisering Fra stand alone systemer til netværk af distribuerede systemer Fra enkeltstående apparater til produktlinier WWW tilkobling (overvågning, konfigurering og opdatering) SW arkitektur, 24. januar

13 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market Større projekter flere skal arbejde sammen mere specialisering Fra stand alone systemer til netværk af distribuerede systemer Fra enkeltstående apparater til produktlinier WWW tilkobling (overvågning, konfigurering og opdatering) Sørre krav om genbrug - det er blevet for dyrt at starte forfra SW arkitektur, 24. januar

14 Udfordringer inden for SW udvikling Stigende kompleksitet Reduktion af Time to Market Større projekter flere skal arbejde sammen mere specialisering Fra stand alone systemer til netværk af distribuerede systemer Fra enkeltstående apparater til produktlinier WWW tilkobling (overvågning, konfigurering og opdatering) Sørre krav om genbrug - det er blevet for dyrt at starte forfra Mange nye og konkurrerende middelware teknologier CORBA, DCOM, RMI,.NET, Jini, SOAP Real Time udgaver på vej af RT-Linux, RT-CORBA, RT-Java SW arkitektur, 24. januar

15 Arkitektur i relation til øvrige udviklingsaktiviteter Requirements Hardware architecture Domain-, Requirement- and Risk analysis modifications modifications Software Architecture Design Hardware Architecture Design Software architecture Detailed design, Coding, Integration, Testing Implementation constraints SW arkitektur, 24. januar

16 Arkitektur i relation til øvrige udviklingsaktiviteter Domain-, Requirement- and Risk analysis Requirements modifications modifications System Architecture Software Architecture Design Hardware architecture Hardware Architecture Design Software architecture Detailed design, Coding, Integration, Testing Implementation constraints SW arkitektur, 24. januar

17 Definering af SW arkitektur SW arkitektur, 24. januar

18 Definering af SW arkitektur Eksempler på definition af SW arkitektur: SW arkitektur, 24. januar

19 Definering af SW arkitektur Eksempler på definition af SW arkitektur: The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components and the relationships among them Ref: Software Architecture in Practice, [Bass98] SW arkitektur, 24. januar

20 Definering af SW arkitektur Eksempler på definition af SW arkitektur: The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components and the relationships among them Ref: Software Architecture in Practice, [Bass98] is a set of concepts and design decisions about the structure and texture of sofware that must be made prior to concurrent engineering to enable effective satisfaction of architectural significant explicit functional and quality requirements and implicit requirements of the product family, the problem and the solution domains Ref: Software Architecture for Product families, [Jazayeri2000] SW arkitektur, 24. januar

21 Kontekst for SW arkitektur Architectural Styles Dokumentationsaspekt Architectural- & Design- Patterns SW arkitektur Agentteknologi Komponentteknologi Objektteknologi (UML) Frameworks Udviklingsproces Middelware standarder SW arkitektur, 24. januar

22 OO analyse OO arkitekturdesign Kravspec. og Use Case model Use Case x Aktør 1 Use Case x Ikke funkt. krav SW arkitektur, 24. januar

23 OO analyse OO arkitekturdesign Kravspec. og Use Case model OO analyse model Use Case x Aktør 1 Use Case x Ikke funkt. krav SW arkitektur, 24. januar

24 OO analyse OO arkitekturdesign Kravspec. og Use Case model OO analyse model Use Case x Aktør 1 Use Case x Ikke funkt. krav SW arkitektur, 24. januar

25 OO analyse OO arkitekturdesign Kravspec. og Use Case model OO analyse model Løsning 1. OO arkitektur design model Use Case x Node Aktør 1 Task1 Task2 Use Case x Ikke funkt. krav SW arkitektur, 24. januar

26 OO analyse OO arkitekturdesign Kravspec. og Use Case model OO analyse model Løsning 1. OO arkitektur design model Use Case x Node Aktør 1 Task1 Task2 Use Case x Løsning 2. Node1 Node2 Ikke funkt. krav Task1 Task2 Task3 SW arkitektur, 24. januar

27 Software beskrivelsesteknikker SW arkitektur, 24. januar

28 Software beskrivelsesteknikker Diagrammerings- og designteknikker Rutediagrammer, tilstandsdiagrammer Struktureret Programmering, Go-To less programming, Dijkstra 1968 Jackson Diagrammer, Jacksons JSP 1975 Structure Charts - Constantines Struktureret design 1975 Access graph - Brinch Hansens Concurrent Pascal 1977 SW arkitektur, 24. januar

29 Software beskrivelsesteknikker Diagrammerings- og designteknikker Rutediagrammer, tilstandsdiagrammer Struktureret Programmering, Go-To less programming, Dijkstra 1968 Jackson Diagrammer, Jacksons JSP 1975 Structure Charts - Constantines Struktureret design 1975 Access graph - Brinch Hansens Concurrent Pascal 1977 Ward & Mellors SA/SD-Real Time, 1985 Dataflow-, tilstands-, entitets relations - og struktur diagrammer SW arkitektur, 24. januar

30 Software beskrivelsesteknikker Diagrammerings- og designteknikker Rutediagrammer, tilstandsdiagrammer Struktureret Programmering, Go-To less programming, Dijkstra 1968 Jackson Diagrammer, Jacksons JSP 1975 Structure Charts - Constantines Struktureret design 1975 Access graph - Brinch Hansens Concurrent Pascal 1977 Ward & Mellors SA/SD-Real Time, 1985 Dataflow-, tilstands-, entitets relations - og struktur diagrammer OO Metoder f.eks. OMT 1991 Klasse-, tilstands-, dataflow diagrammer SW arkitektur, 24. januar

31 Software beskrivelsesteknikker Diagrammerings- og designteknikker Rutediagrammer, tilstandsdiagrammer Struktureret Programmering, Go-To less programming, Dijkstra 1968 Jackson Diagrammer, Jacksons JSP 1975 Structure Charts - Constantines Struktureret design 1975 Access graph - Brinch Hansens Concurrent Pascal 1977 Ward & Mellors SA/SD-Real Time, 1985 Dataflow-, tilstands-, entitets relations - og struktur diagrammer OO Metoder f.eks. OMT 1991 Klasse-, tilstands-, dataflow diagrammer UML (Unified Modelling Language) - OMG standard i 1997 Klasse-, tilstands-, interaktions-, deployment-, komponent- og Use Case diagrammer UML ver. 1.4 er aktuel version, ver. 2.0 er på vej. SW arkitektur, 24. januar

32 Indkapsling Udvikling inden for SW design 1. Abstrakte datatyper, objektbaseret programmering Eksterne/public funktioner, private funktioner og data Dokumentation: moduldiagrammer Realiseret i f.eks. Assembler, PLM, C, Pascal Modul A private data og funktioner public funktioner Modul B Modul C SW arkitektur, 24. januar

33 Udvikling inden for SW design 2. Objektorienteret Programmering Klasser og associationer Nedarvning og polymorfi Dokumentation: Klassediagrammer (UML) Eksempler på sprog: Smalltalk, C++, Java, C# Class A ændringer i B s grænseflade påvirker kun A og D B D C D1 D2 SW arkitektur, 24. januar

34 Concurrent Pascal accesgraf eksempel Foretag operatør kommunikation P Overvågnings- Specifikation M Foretag overvågning P Overvågningsenhed DM Operatør konsol DM Behandel alarmer P Alarm Tabel M indsætalarm() hentalarm() fjernalarm() P: Proces M: Monitor (klasse med udelelig adgang) DM: Device Monitor SW arkitektur, 24. januar

35 Udvikling inden for SW design 3. Nyere OO begreber (supporteret af UML): Vigtige ved udvikling af større systemer Composition Interfaces (understøttes af Java) Class A B C Class A B C SW arkitektur, 24. januar

36 Udvikling inden for SW design 3. Nyere OO begreber (supporteret af UML): Vigtige ved udvikling af større systemer Composition Interfaces (understøttes af Java) Class A B C Class A B Class A Class B +op1() +op2() if 1 +op3() if 2 Class D C op1() Class C op2() op3() SW arkitektur, 24. januar

37 Udvikling inden for SW design 4. Flere nyere OO begreber (supporteret af UML): Pakker (understøttes af Java) Anvendes til at vise både logisk og fysisk indkapsling Pakke J F G H SW arkitektur, 24. januar

38 Udvikling inden for SW design 4. Flere nyere OO begreber (supporteret af UML): Pakker (understøttes af Java) Anvendes til at vise både logisk og fysisk indkapsling Pakke J Pakke H Kunne være en Façade klasse Class A F G B D H C D1 D2 SW arkitektur, 24. januar

39 Udvikling inden for SW design 5. Flere nyere OO begreber (understøttet af UML): Aktive objekter Nodes Alarm Window «Task» Motor Supervisor «Monitor» Alarm Table «Task» Alarm Handler SW arkitektur, 24. januar

40 Udvikling inden for SW design 5. Flere nyere OO begreber (understøttet af UML): Aktive objekter Nodes Alarm Window «Task» Motor Supervisor «Monitor» Alarm Table «Task» Alarm Handler Base Station Controller Comm Server Mobil Switch Deployment diagram <<TCP/IP>> Application Server <<TCP/IP>> DB Server SW arkitektur, 24. januar

41 SW dokumentationsaspekter SW arkitektur, 24. januar

42 SW dokumentationsaspekter Dokumentation af statiske forhold: Klassediagrammer: Pakker, klasser og interfaces Komponentdiagrammer: viser ekseverbare komponenter og kodefiler Deployment diagrammer: viser nodes f.eks. processorer SW arkitektur, 24. januar

43 SW dokumentationsaspekter Dokumentation af statiske forhold: Klassediagrammer: Pakker, klasser og interfaces Komponentdiagrammer: viser ekseverbare komponenter og kodefiler Deployment diagrammer: viser nodes f.eks. processorer Dokumentation af dynamiske forhold: Interaktionsdiagrammer f.eks. sekvensdiagrammer Tilstandsdiagrammer for klasser med tilstandsafhængig opførsel Aktivitesdiagrammer: kan f.eks. vise synkroniserings-aspekter SW arkitektur, 24. januar

44 State of the Art for SW arkitektur Højniveau Lavniveau SW arkitektur, 24. januar

45 State of the Art for SW arkitektur Højniveau Architectural Styles Styles dominerer en given arkitektur Eksempler: Pipes and Filters, Layered architectural structure Lavniveau SW arkitektur, 24. januar

46 State of the Art for SW arkitektur Højniveau Architectural Styles Styles dominerer en given arkitektur Eksempler: Pipes and Filters, Layered architectural structure Architectural Patterns Retter sig mod System-wide design problemer Er ikke dominerende og kan ofte kombineres med andre mønstre Eksempler: concurrency og persistens Lavniveau SW arkitektur, 24. januar

47 State of the Art for SW arkitektur Højniveau Architectural Styles Styles dominerer en given arkitektur Eksempler: Pipes and Filters, Layered architectural structure Architectural Patterns Retter sig mod System-wide design problemer Er ikke dominerende og kan ofte kombineres med andre mønstre Eksempler: concurrency og persistens Design Patterns (GoF) Design mønstre har ofte mere lokal effekt Eksempler: Observer pattern, State Pattern Lavniveau SW arkitektur, 24. januar

48 State of the Art for SW arkitektur Højniveau Lavniveau Architectural Styles Styles dominerer en given arkitektur Eksempler: Pipes and Filters, Layered architectural structure Architectural Patterns Retter sig mod System-wide design problemer Er ikke dominerende og kan ofte kombineres med andre mønstre Eksempler: concurrency og persistens Design Patterns (GoF) Design mønstre har ofte mere lokal effekt Eksempler: Observer pattern, State Pattern Idioms Kodenære mønstre og mekanismer Eksempel: Counted pointer for C++ SW arkitektur, 24. januar

49 Architectural Styles (Shaw&Garlan) 1. Fem kategorier af Architectural Styles: Dataflow systems Batch sequentiel, Pipes and filters Call-and-return systems OO systems, Main program and subroutine, Hierarchical layers Independent compontents Event systems, Communicating processes Virtual machines Interpreters, Rule-based systems Data-centered systems (repositores) Databases, Hypertext systems, Blackboards Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

50 Architectural Styles (Shaw&Garlan) 2. Eksempler på Architectural Styles: Pipes and filters Data abstraction and Object-Oriented organization Event-based, implicit invocation Layered systems Eksempler: OSI model, Adm. system: præsentation, logik og model lag Repositores Interpreters Process control Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

51 Buschmann s tre mønster kategorier Arkitektur mønstre: Layers Pipes & Filters Blackboard Broker Model-View-Controller Shaw& Garlan Styles Presentation-Abstraction-Control (PAC) Microkernel Reflection Ref. [Bushmann 96] SW arkitektur, 24. januar

52 Buschmann s tre mønster kategorier Arkitektur mønstre: Layers Pipes & Filters Blackboard Broker Model-View-Controller Shaw& Garlan Styles Presentation-Abstraction-Control (PAC) Microkernel Reflection Design mønstre: Observer (GoF) Publisher-subscriber Strategy (GoF) Composite (GoF) Abstract Factory (GoF) Bridge (GoF) Proxy (GoF) Command Processor View Handler Master-slave Ref. [Bushmann 96] SW arkitektur, 24. januar

53 Buschmann s tre mønster kategorier Arkitektur mønstre: Layers Pipes & Filters Blackboard Broker Model-View-Controller Presentation-Abstraction-Control (PAC) Microkernel Reflection Ref. [Bushmann 96] Shaw& Garlan Styles Design mønstre: Observer (GoF) Publisher-subscriber Strategy (GoF) Composite (GoF) Abstract Factory (GoF) Bridge (GoF) Proxy (GoF) Command Processor View Handler Master-slave Idioms: Singleton (GoF) Factory Method (GoF) Counted pointer, Handle-Body Envelope-Letter SW arkitektur, 24. januar

54 Pipes & Filters so: Source f1: Filter1 p1: Pipe f2: Filter2 Dataflow arkitektur, hvor komponenterne kan være: Objekter Tasks (aktive objekter) Computere (maskiner) p2: Pipe f3: Filter3 si: Sink SW arkitektur, 24. januar

55 Pipes & Filters so: Source f1: Filter1 p1: Pipe f2: Filter2 Dynamisk konfiguering af processering f4: Filter4 p3: Pipe Dataflow arkitektur, hvor komponenterne kan være: Objekter Tasks (aktive objekter) Computere (maskiner) p2: Pipe f3: Filter3 si: Sink SW arkitektur, 24. januar

56 Todelt arkitekturmodel SW arkitektur, 24. januar

57 Todelt arkitekturmodel Kombinerer følgende to Shaw&Garlan Architectural Styles: Event-based Process Control (plus pipes & filters internt) SW arkitektur, 24. januar

58 Todelt arkitekturmodel Kombinerer følgende to Shaw&Garlan Architectural Styles: Event-based Process Control (plus pipes & filters internt) Denne kombination kan anvendes for mange apparatsystemer Eksempler på anvendelse: styring og regulering f.eks. en frekvensomformer til styring af en motor f.eks. en Danfoss frekvensomformer (trademark VLT). måleinstrumenter f.eks. et oscilloscop eller en støjmåler audio/video: f.eks. en CD spiller SW arkitektur, 24. januar

59 Todelt arkitekturmodel Kombinerer følgende to Shaw&Garlan Architectural Styles: Event-based Process Control (plus pipes & filters internt) Denne kombination kan anvendes for mange apparatsystemer Eksempler på anvendelse: styring og regulering f.eks. en frekvensomformer til styring af en motor f.eks. en Danfoss frekvensomformer (trademark VLT). måleinstrumenter f.eks. et oscilloscop eller en støjmåler audio/video: f.eks. en CD spiller Ref: [COT] Center for Objektteknologi projekt (Case 2) SW arkitektur, 24. januar

60 Todelt arkitekturmodel - et eksempel Danfoss frekvensomformer (VLT) Event controlled part VLT user VLT Control Continuos processing part Sensor Motor Controlling Motor SW arkitektur, 24. januar

61 Todelt arkitekturmodel - et eksempel Danfoss frekvensomformer (VLT) Event controlled part VLT user VLT Control Configuration Continuos processing part Sensor Motor Controlling VLT & Motor supervising Motor SW arkitektur, 24. januar

62 Anvendte Design Patterns i en OO-VLT Discrete event based part VLT user Command, State Sensor Motor Controlling VLT & Motor supervising Strategy, Pipes&Filters Observer Continuous processing part Motor SW arkitektur, 24. januar

63 Ventilator control as process control Danfoss frekvensomformer (VLT) Disturbances: heat production, heat loos, temperature outside, etc Setpoint: desired temperature Controller: VLT? Manipulated variables: frequency+ voltage Process: Motor + ventilator + room Controlled variable: roomtemperature Feedback: measured roomtemperature Example of closed-loop feedback control Shaw & Garlan process control style Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

64 Speed Open loop controller: Frekvensomformer eksempel Blokdiagram for to forskellige driftsformer Reference Reference calculation Slip compensation Output f Frequency f f f Resonance f Frequency Ramp Bypass Damping Limits Voltage calculation f U angle transangle PWM generation f U Slip estimation I Process Closed Loop controller: Reference Reference calculation PID Controller Output f Frequency f f f Resonance f Frequency Ramp Bypass Damping Limits Voltage calculation f U angle transangle PWM generation f U Feedback Calcualation Feedback SW arkitektur, 24. januar

65 Objektdiagram for SpeedOpenLoopController :SpeedOpen LoopController Pipe komponenten er her implementeret som et simpelt funktionskald f=output(f) input frequency Der flyder en ny frekvens igennem filtrene hvert 2 ms :SlipFilter f=output(f) :BypassFilter f=output(f) :FreqLimiterFilter f=output(f) :RampFilter f=output(f) :ResonanceDamperFilter output frequency SW arkitektur, 24. januar

66 Two types of VLT Use Cases Control VLT Actor initiated Use Cases (discrete) VLT user Change VLT configuration parameters SW arkitektur, 24. januar

67 Two types of VLT Use Cases Control VLT Actor initiated Use Cases (discrete) VLT user Change VLT configuration parameters System initiated Use Cases (continuous) Motor Controlling Motor Protection Motor Sensor SW arkitektur, 24. januar

68 Architectural Style: todelt arkitekturmodel Event kontrolleret del Bruger Styring Konfigurering INPUT OUTPUT Kontinuert processerings del Sensor Processering Overvågning Aktuator Bruger SW arkitektur, 24. januar

69 Udvikling mod et framework SW arkitektur, 24. januar

70 Udvikling mod et framework Første udgave af motorstyringssoftware udviklet til een type af frekvensomformere, hvor motorsignalerne til effektdelen generes vha. en ASIC (Application Specific Integrated Circuit). SW arkitektur, 24. januar

71 Udvikling mod et framework Første udgave af motorstyringssoftware udviklet til een type af frekvensomformere, hvor motorsignalerne til effektdelen generes vha. en ASIC (Application Specific Integrated Circuit). SW arkitekturen var defineret vha. en OO model og impl. i C++ SW arkitektur, 24. januar

72 Udvikling mod et framework Første udgave af motorstyringssoftware udviklet til een type af frekvensomformere, hvor motorsignalerne til effektdelen generes vha. en ASIC (Application Specific Integrated Circuit). SW arkitekturen var defineret vha. en OO model og impl. i C++ Anden udgave af softwaren blev modificeret til en anden type frekvensomformer, hvor motorssignalerne til effekdelen genereres af en DSP (Digital Signal Processor). SW arkitektur, 24. januar

73 Udvikling mod et framework Første udgave af motorstyringssoftware udviklet til een type af frekvensomformere, hvor motorsignalerne til effektdelen generes vha. en ASIC (Application Specific Integrated Circuit). SW arkitekturen var defineret vha. en OO model og impl. i C++ Anden udgave af softwaren blev modificeret til en anden type frekvensomformer, hvor motorssignalerne til effekdelen genereres af en DSP (Digital Signal Processor). Medførte modifikationer til arkitekturen, men grundideerne holdt med den todelte arkitektur style som en vigtig del af arkitekturen. SW arkitektur, 24. januar

74 Udvikling mod et framework Første udgave af motorstyringssoftware udviklet til een type af frekvensomformere, hvor motorsignalerne til effektdelen generes vha. en ASIC (Application Specific Integrated Circuit). SW arkitekturen var defineret vha. en OO model og impl. i C++ Anden udgave af softwaren blev modificeret til en anden type frekvensomformer, hvor motorssignalerne til effekdelen genereres af en DSP (Digital Signal Processor). Medførte modifikationer til arkitekturen, men grundideerne holdt med den todelte arkitektur style som en vigtig del af arkitekturen. Softwaren er på vej til at blive et framework for motorstyringssoftwaredelen, der kan anvendes for en familie af forskellige frekvensomformer produkter. SW arkitektur, 24. januar

75 Udvikling mod et framework Første udgave af motorstyringssoftware udviklet til een type af frekvensomformere, hvor motorsignalerne til effektdelen generes vha. en ASIC (Application Specific Integrated Circuit). SW arkitekturen var defineret vha. en OO model og impl. i C++ Anden udgave af softwaren blev modificeret til en anden type frekvensomformer, hvor motorssignalerne til effekdelen genereres af en DSP (Digital Signal Processor). Medførte modifikationer til arkitekturen, men grundideerne holdt med den todelte arkitektur style som en vigtig del af arkitekturen. Softwaren er på vej til at blive et framework for motorstyringssoftwaredelen, der kan anvendes for en familie af forskellige frekvensomformer produkter. Ref: COT projekt og Alexandra Institut projekt vedr. distribueret OO komm. SW arkitektur, 24. januar

76 Taksonomi for Real-Time arkitektur Der anvendes i dag fire basale arkitektur styles for real-time systemer: Timeline Event-driven Pipeline Client-Server Ref: Doug Locke, TimeSys Corporation - Embedded System Conference, San Francisco, 2001 SW arkitektur, 24. januar

77 Timeline arkitektur Timeline Systemet designes som et antal procedurer, der hver har et bestemt tidskrav (p1: hver 25 ms, p2: hver 200 ms) Procedurer kaldes med faste tidsintervaller, hvis timeren er 25 ms - så aktiveres p1 hver gang og p2 kun hver fjerde gang. Lange procedurer må opdeles i mindre. Eksempel: Flight Control Computer 2-5 processorer, 1 MB RAM 1 task for hver computer, ingen synkronisering De fleste krav er Hard Real Time krav, typisk 20 ms Anvendesf.eks. i nyereairbus fly ogi Boeing 747 SW arkitektur, 24. januar

78 Event-driven arkitektur Event-driven Her anvendes afslutning af I/O operationer og timer events til at igangsætte ventende task Der anvendes operativsystem, hvor hvert Task har en prioritet Kræver synkronisering mellem task Eksempel: Aircraft Mission Processor 1-20 RISC processorer, MB RAM Soft Real Time krav, typisk i området fra 1 ms ms I/O Clock Task 1 Task 2 Output Manager I/O SW arkitektur, 24. januar

79 Pipeline arkitektur Pipeline Her anvendes også inter-proces meddelelser ud over afslutning af I/O operationer og timer events til at igangsætte ventende task En hændelse sendes gennem systemet fra source til destination og bevirker et sæt af task aktiveringer Eksempel: Air Traffic Control processorer, MB RAM Soft Real Time krav, typisk i området fra 100 ms - 6 sek Msg I/O Message Handler Task 2 Filter Output Manager I/O SW arkitektur, 24. januar

80 Client-server arkitektur Client-Server Som for pipeline anvendes også her inter-proces meddelelser ud over afslutning af I/O operationer og timer events til at igangsætte ventende task I modsætning til pipeline - så forbliver kontrollen her på en given node (klienten) Eksempel: Vehicle Training System processorer, MB RAM Soft Real Time krav, typisk i området fra 33 ms ms Msg I/O Message Handler Task 2 Filter Output Manager I/O SW arkitektur, 24. januar

81 To vigtige designprincipper SW arkitektur, 24. januar

82 To vigtige designprincipper Bertrand Meyers Open-Closed principle: Software entities (Classes, Modules, Functions etc) should be open for extension, but closed for modification Object Oriented Software Construction, B. Meyer, 1988 SW arkitektur, 24. januar

83 To vigtige designprincipper Bertrand Meyers Open-Closed principle: Software entities (Classes, Modules, Functions etc) should be open for extension, but closed for modification Object Oriented Software Construction, B. Meyer, 1988 Liskovs Substitution Principle (LSP): Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it (den pragmatiske udgave). Data Abstraction and Hierarchy, Barbara Liskov, SIGPLAN Notices, May 1988 SW arkitektur, 24. januar

84 To vigtige designprincipper Bertrand Meyers Open-Closed principle: Software entities (Classes, Modules, Functions etc) should be open for extension, but closed for modification Object Oriented Software Construction, B. Meyer, 1988 Liskovs Substitution Principle (LSP): Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it (den pragmatiske udgave). Data Abstraction and Hierarchy, Barbara Liskov, SIGPLAN Notices, May 1988 LSP anvendes til at realisere Open-Closed princippet. SW arkitektur, 24. januar

85 Proxy (stedfortræder) Pattern Client Watch settime() ProxyWatch RealWatch TestWatch settime() settime() settime() Objekter af RealWatch klassen befinder sig på en anden maskine end Client objektet. Et eksempel på en Remote Proxy - der kan karakterisers som et Architectural Pattern. SW arkitektur, 24. januar

86 Proxy objektdiagrammer Local processor Remote processor :Client settime() :TestWatch SW arkitektur, 24. januar

87 Proxy objektdiagrammer Local processor Remote processor :Client settime() :TestWatch :Client settime() :RealWatch SW arkitektur, 24. januar

88 Proxy objektdiagrammer Local processor Remote processor :Client settime() :TestWatch :Client settime() :RealWatch :Client settime() :ProxyWatch settime() :RealWatch SW arkitektur, 24. januar

89 Observer Pattern (push version) hour minute second Subject notify() addwatch(watch*) removewatch(watch*) * Watch destination gmtadjustment update(hour,min,sec) AtomControlledClock tick() DigitalWatch update(hour,min,sec) AnalogWatch update(hour,min,sec) SW arkitektur, 24. januar

90 Observer Pattern (push version) hour minute second Subject notify() addwatch(watch*) removewatch(watch*) * Watch destination gmtadjustment update(hour,min,sec) AtomControlledClock DigitalWatch update(hour,min,sec) AnalogWatch update(hour,min,sec) tick() pla= new AnalogWatch( Los Angeles,-8); AtomControlledClock::Instance().addWatch(pLA); pcph= new DigitalWatch( Copenhagen,+1); etc. SW arkitektur, 24. januar

91 Observer Pattern (push version) Subject hour min sec notify() addwatch(watch*) removewatch(watch*) * Watch destination gmtadjustment update(hour,min,sec) AtomControlledClock tick() DigitalWatch update(hour,min,sec) AnalogWatch update(hour,min,sec) læs tid fra modtagen meddelelse ind i hour, min, sec og kald notify() SW arkitektur, 24. januar

92 Observer Pattern (push version) Subject hour min sec notify() addwatch(watch*) removewatch(watch*) * Watch destination gmtadjustment update(hour,min,sec) AtomControlledClock tick() DigitalWatch update(hour,min,sec) AnalogWatch update(hour,min,sec) læs tid fra modtagen meddelelse ind i hour, min, sec og kald notify() notify() { for all in list pw->update(hour,min,sec); } SW arkitektur, 24. januar

93 Observer Pattern (push version) Subject hour min sec notify() addwatch(watch*) removewatch(watch*) * Watch destination gmtadjustment update(hour,min,sec) AtomControlledClock DigitalWatch update(hour,min,sec) AnalogWatch update(hour,min,sec) ProxyWatch update(hour,min,sec) tick() læs tid fra modtagen meddelelse ind i hour, min, sec og kald notify() notify() { for all in list pw->update(hour,min,sec); } SW arkitektur, 24. januar

94 Sekvensdiagram for Observer :AtomControlledClock pcph:digitalwatch pla:analogwatch :ProxyWatch SW arkitektur, 24. januar

95 Sekvensdiagram for Observer :AtomControlledClock pcph:digitalwatch pla:analogwatch :ProxyWatch tick SW arkitektur, 24. januar

96 Sekvensdiagram for Observer :AtomControlledClock pcph:digitalwatch pla:analogwatch :ProxyWatch tick notify() update(hour,min,sec) SW arkitektur, 24. januar

97 Sekvensdiagram for Observer :AtomControlledClock pcph:digitalwatch pla:analogwatch :ProxyWatch tick notify() update(hour,min,sec) update(hour,min,sec) SW arkitektur, 24. januar

98 Sekvensdiagram for Observer :AtomControlledClock pcph:digitalwatch pla:analogwatch :ProxyWatch tick notify() update(hour,min,sec) update(hour,min,sec) update(hour,min,sec) SW arkitektur, 24. januar

99 Frameworks SW arkitektur, 24. januar

100 Frameworks Frameworks opbygges med fordel vha. Design Patterns SW arkitektur, 24. januar

101 Frameworks Frameworks opbygges med fordel vha. Design Patterns Forskellige slags framework: Applikationsframework ofte til et specifikt domæne og udvikles til en hel produktfamilie Serviceorienterede frameworks som f.eks. Kommunikationsframework Databaseframework Multiprogrammeringsframework SW arkitektur, 24. januar

102 Frameworks Frameworks opbygges med fordel vha. Design Patterns Forskellige slags framework: Applikationsframework ofte til et specifikt domæne og udvikles til en hel produktfamilie Serviceorienterede frameworks som f.eks. Kommunikationsframework Databaseframework Multiprogrammeringsframework Disse kan være implementeret som: Whitebox framework Blackbox framework SW arkitektur, 24. januar

103 Whitebox Framework Her skal man kende den indre struktur for at kunne anvende Frameworket til en konkret applikation f.eks. ved at man tilføjer nye specialiserede klasser til de eksisterende klassehierarkier Applikationsspecifik kode SW arkitektur, 24. januar

104 Blackbox Framework Her er det ikke nødvendigt at kende detaljer i Frameworket, da man tilføjer den ønskede funktionalitet vha. Composition dvs. at man instantierer objekter, der hægtes på Frameworket obj3: Class3 obj1: Class1 Applikationsspecifik kode obj2: Class2 SW arkitektur, 24. januar

105 Eksempel: ATM protokol SW framework ATM: Asynkron Tranfer Mode ATM netværk Århus ATM forbindelse Bern ATM switche ATM projekt vedr. dynamisk oprettelse og nedlæggelse af ATM forbindelser (kaldes for signalisering). SW arkitektur, 24. januar

106 Eksempel: ATM protokol SW framework ATM: Asynkron Tranfer Mode ATM netværk Århus ATM forbindelse Bern ATM switche ATM projekt vedr. dynamisk oprettelse og nedlæggelse af ATM forbindelser (kaldes for signalisering). SW arkitektur, 24. januar

107 ATM protokol stak Call control Call control Lag 3 Q.2931/ ATM-Forum Q.2931/ ATM-Forum Lag 2 SSCF Q2130 SSCOP Q2110 PDU s SSCF Q2130 SSCOP Q2110 SAAL AAL5 lag AAL5 lag Lag 1 ATM lag ATM lag Fysisk lag Fysisk lag 53 bytes ATM pakker SW arkitektur, 24. januar

108 ATM protokol stak Call control Call control Framework Lag 3 Q.2931/ ATM-Forum Q.2931/ ATM-Forum anvendelser Lag 2 SSCF Q2130 SSCOP Q2110 PDU s SSCF Q2130 SSCOP Q2110 SAAL AAL5 lag AAL5 lag Lag 1 ATM lag ATM lag Fysisk lag Fysisk lag 53 bytes ATM pakker SW arkitektur, 24. januar

109 ATM protokol stak Call control 2 konkurerende standarder på lag 3 Call control Framework Lag 3 Q.2931/ ATM-Forum Q.2931/ ATM-Forum anvendelser Lag 2 SSCF Q2130 SSCOP Q2110 PDU s SSCF Q2130 SSCOP Q2110 SAAL AAL5 lag AAL5 lag Lag 1 ATM lag ATM lag Fysisk lag Fysisk lag 53 bytes ATM pakker SW arkitektur, 24. januar

110 Overordnet arkitektur beslutninger «Unix process» Lag 3 SW: OOFramework 1. Hvert lag er een process (Unix) 2. Der skal være en C grænseflade 3. Der kommunikeres en byte strøm mellem lagene C grænseflade «socket comm.» bytestream messages «Unix process» Lag 2 SW: OOFramework OOFramework (white box) bytestream messages SW arkitektur, 24. januar

111 System arkitektur User Application SW Signalling Software ATM lines Switch HW (ASIC) 650 Mbit/sek ATM lines SW arkitektur, 24. januar

112 System arkitektur User Application SW ATM: User plane Control plane Management plane Signalling Software ATM lines Switch HW (ASIC) 650 Mbit/sek ATM lines SW arkitektur, 24. januar

113 System arkitektur ATM: User plane Control plane Management plane User Application SW Signalling Software Diskret kontrol del Kontinueret behandlingsdel Diskret kontrol del Kontinueret behandlingsdel ATM lines Switch HW (ASIC) 650 Mbit/sek ATM lines SW arkitektur, 24. januar

114 Anvendelse af GoF design Patterns Frameworket er opbygget vha. følgende 8 GoF patterns: FactoryMethod (creational) Singleton (creational) Adapter (structural) Composite (structural) Strategy (behavioral) Visitor (behavioral) Command (behavioral) State (behavioral) Ref. [Gamma95] SW arkitektur, 24. januar

115 Centrale Design Patterns SW arkitektur, 24. januar

116 Centrale Design Patterns Af disse 8 patterns er følgende de centrale i Frameworket: SW arkitektur, 24. januar

117 Centrale Design Patterns Af disse 8 patterns er følgende de centrale i Frameworket: Composite (kaldt Mux og Conduite) benyttes til at opbygge selve protokolstrukturen SW arkitektur, 24. januar

118 Centrale Design Patterns Af disse 8 patterns er følgende de centrale i Frameworket: Composite (kaldt Mux og Conduite) benyttes til at opbygge selve protokolstrukturen Command (kaldt Messenger) Commandobjekter genereres ud fra modtagne meddelelser SW arkitektur, 24. januar

119 Centrale Design Patterns Af disse 8 patterns er følgende de centrale i Frameworket: Composite (kaldt Mux og Conduite) benyttes til at opbygge selve protokolstrukturen Command (kaldt Messenger) Commandobjekter genereres ud fra modtagne meddelelser Visitor transporterer et Commandobjekt gennem Composite strukturen SW arkitektur, 24. januar

120 Centrale Design Patterns Af disse 8 patterns er følgende de centrale i Frameworket: Composite (kaldt Mux og Conduite) benyttes til at opbygge selve protokolstrukturen Command (kaldt Messenger) Commandobjekter genereres ud fra modtagne meddelelser Visitor transporterer et Commandobjekt gennem Composite strukturen State implementerer protokollernes tilstandsmaskiner SW arkitektur, 24. januar

121 Grundstruktur i Frameworket Composite Pattern composite component 1-2 Conduit * connected to leaf composite ConduitFactory Protocol Adapter Mux SW arkitektur, 24. januar

122 Grundstruktur i Frameworket Composite Pattern composite component 1-2 Conduit * connected to leaf composite ConduitFactory Protocol Adapter Mux SscfProtocol SscopProtocol Specifik for den aktuelle anvendelse af Frameworket til lag 2 protokollen SW arkitektur, 24. januar

123 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor :BottomAdapter :IOController SW arkitektur, 24. januar

124 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

125 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

126 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

127 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

128 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

129 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

130 Framework objektdiagram :TopAdapter :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

131 Framework objektdiagram :TopAdapter AAL primitiv :IOController topmux: Mux assap1:ssapaccessor sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

132 Framework objektdiagram :TopAdapter AAL primitiv :IOController topmux: Mux assap1:ssapaccessor :SSAPConduitFactory sscf1: SscfProtocol sscf-n: SscfProtocol Idle: SscfState1 sscop1: SscopProtocol sscopn: SscopProtocol Idle: SscopState1 bottommux: Mux assap2:ssapaccessor et MessageTransporter objekt (en visitor), der transporterer et Messenger objekt af den modtagne PDU type PDU :BottomAdapter :IOController modtages som en bytestream SW arkitektur, 24. januar

133 Oprettelses scenario Oprettelse af protokolobjekter :TopAdapter topmux: Mux assap1:ssapaccessor :SSAPConduitFactory bottommux: Mux assap2:ssapaccessor :BottomAdapter SW arkitektur, 24. januar

134 Oprettelses scenario Oprettelse af protokolobjekter :TopAdapter topmux: Mux assap1:ssapaccessor :SSAPConduitFactory bottommux: Mux assap2:ssapaccessor :BottomAdapter 1. amt (MessageTransporter with an addprotocol) SW arkitektur, 24. januar

135 Oprettelses scenario Oprettelse af protokolobjekter :TopAdapter topmux: Mux assap1:ssapaccessor :SSAPConduitFactory 2. amt bottommux: Mux :BottomAdapter assap2:ssapaccessor 1. amt (MessageTransporter with an addprotocol) SW arkitektur, 24. januar

136 Oprettelses scenario Oprettelse af protokolobjekter :TopAdapter topmux: Mux assap1:ssapaccessor :SSAPConduitFactory 3. create sscf1: SscfProtocol sscop1: SscopProtocol 2. amt bottommux: Mux :BottomAdapter assap2:ssapaccessor 1. amt (MessageTransporter with an addprotocol) SW arkitektur, 24. januar

137 Oprettelses scenario Oprettelse af protokolobjekter :TopAdapter topmux: Mux assap1:ssapaccessor 4. aninstaller1 :SSAPConduitFactory 3. create 4. aninstaller2 2. amt sscf1: SscfProtocol sscop1: SscopProtocol bottommux: Mux :BottomAdapter assap2:ssapaccessor 1. amt (MessageTransporter with an addprotocol) SW arkitektur, 24. januar

138 Oprettelses scenario Oprettelse af protokolobjekter :TopAdapter topmux: Mux assap1:ssapaccessor 4. aninstaller1 5. :SSAPConduitFactory 3. create 4. aninstaller2 2. amt sscf1: SscfProtocol sscop1: SscopProtocol 5. bottommux: Mux :BottomAdapter assap2:ssapaccessor 1. amt (MessageTransporter with an addprotocol) SW arkitektur, 24. januar

139 Test af protokolsoftware Test script file test input og forventet output Test værktøj (interaktivt + file input) Test in/out file i/o fra/til overliggende lag Protocol SW (OO) der testes i/o fra/til underliggende lag Log file SW arkitektur, 24. januar

140 Test af protokolsoftware Test script file test input og forventet output Test værktøj (interaktivt + file input) Test in/out file i/o fra/til overliggende lag Protocol SW (OO) der testes Test resultat file Test merge program i/o fra/til underliggende lag Log file SW arkitektur, 24. januar

141 Test af protokolsoftware Test meddelelser behandles ligesom PDU meddelelserne, dvs. de transporteres af MessagTransporter visitoren indtil de behandles ved besøg af protokolobjekterne. Messenger upprotocol BeginMessenger upprotocol EndMessenger upprotocol TestMessenger upprotocol kan sætte protokol objekternes tilstand og bevirke at disse udskrives på en logfile SW arkitektur, 24. januar

142 Erfaring med anvendelse af et framework Fordele: Genbrug af basisklasser og struktur i Frameworket Genbrug af serviceklasser Kan opbygges vha. GoF design patterns (er veldokumenterede) Samme SW struktur for forskellige protokoller Letter dokumentation Letter vedligeholdelsen pga. færre klasser og samme struktur Muliggør en hurtigere protokolimplementering, da man kan koncentrere sig om det protokolspecifikke Fremmer inkrementel udvikling SW arkitektur, 24. januar

143 Framework erfaringer - fortsat Ulemper: Kræver indgående kendskab til Frameworket for at kunne genbruge dette til en ny protokol Frameworket bliver først stabilt efter mindst 2 implementeringer Senere ændringer til Framework strukturen bliver dyrere, da flere projekters SW skal tilpasses Kaldestrukturen er mere kompliceret og dermed sværere at teste og debugge SW arkitektur, 24. januar

144 Nyere arkitektur begreber Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

145 Nyere arkitektur begreber En arkitektur kan generelt opbygges og beskrives vha. komponenter og konnektorer Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

146 Nyere arkitektur begreber En arkitektur kan generelt opbygges og beskrives vha. komponenter og konnektorer I praksis fokuseres der næsten udelukkende på komponenter og for lidt på konnektorer: Der defineres grænseflader for komponenterne Komponenterne kan indeholde andre komponenter (vha. compositon) Der er brug for, at konnektorer også bliver første klasses designelementer på niveau med komponenter Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

147 Nyere arkitektur begreber En arkitektur kan generelt opbygges og beskrives vha. komponenter og konnektorer I praksis fokuseres der næsten udelukkende på komponenter og for lidt på konnektorer: Der defineres grænseflader for komponenterne Komponenterne kan indeholde andre komponenter (vha. compositon) Der er brug for, at konnektorer også bliver første klasses designelementer på niveau med komponenter Der bør udvikles ADL s (Architecture Description Language) Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

148 Architectural Language Element Component Connector Specification Type Unit of association Implementation Interface Component type Player Implementation Protocol Connector type Role Implementation Gross Structure of an Architectural Language Ref. [Shaw&Garlan96] SW arkitektur, 24. januar

149 Central design activity (Hofmeister) Ref. [Hofmeister2000] SW arkitektur, 24. januar

150 Central design activity (Hofmeister) 1. Define component and connector types Ref. [Hofmeister2000] SW arkitektur, 24. januar

151 Central design activity (Hofmeister) 1. Define component and connector types 2. Define how component and connector types interconnect Ref. [Hofmeister2000] SW arkitektur, 24. januar

152 Central design activity (Hofmeister) 1. Define component and connector types 2. Define how component and connector types interconnect 3. Map the system functionality to component and connectors concentrating functional behaviour in the components and control aspects in the connectors Ref. [Hofmeister2000] SW arkitektur, 24. januar

153 Central design activity (Hofmeister) 1. Define component and connector types 2. Define how component and connector types interconnect 3. Map the system functionality to component and connectors concentrating functional behaviour in the components and control aspects in the connectors 4. Define the instances of the component and connector types that exist in the product, and how they are interconnected Ref. [Hofmeister2000] SW arkitektur, 24. januar

154 UML Meta-model for conceptual architecture view - 1 Conceptual Configuration 1 1 * * CComponent CConnector During the conceptual configuration acitivity you define the relations among your components and connectors. Components and connectors are interconnected through their ports and roles. Ref. [Hofmeister2000] SW arkitektur, 24. januar

155 UML Meta-model for conceptual architecture view - 1 * 0..1 * CComponent * CConnector * * cbinding * * CPort * cconnection * * obeys Protocol * 1 1 * CRole * obeys conjugate * cbinding NB! klassediagrammet er suppleret med et sæt af constraints Ref. [Hofmeister2000] SW arkitektur, 24. januar

156 Definering af protokoller «ccomponent» Packetizer Protokollen definerer: Indgående og udgående meddelelsestype samt lovlige rækkefølger «cport» rawdatainput obeys «protocol» RawData SW arkitektur, 24. januar

157 Definering af protokoller «ccomponent» Packetizer Protokollen definerer: Indgående og udgående meddelelsestype samt lovlige rækkefølger «cport» rawdatainput obeys «protocol» RawData «protocol» RawData incoming dataready rawdata(rd) outgoing requestdata Packetizer dataready requestdata rawdata(rd) SW arkitektur, 24. januar

158 Eksempel: Components & Connectors :IS2000 probe Commands :Acquisition user AcqControl sender receiver :Control imagingcontrol acqcontrol probe Data :Imaging user AcqDisplay imagesout imagesin source :Data dest :Exporting user Image Export networkaccess SW arkitektur, 24. januar

159 UML diagram with stereotyped classes :IS2000 probe Commands :Acquisition user AcqControl Ports sender receiver :Control imagingcontrol acqcontrol Connector Components probe Data :Imaging user AcqDisplay imagesout imagesin Roles source :Data dest :Exporting user Image Export networkaccess SW arkitektur, 24. januar

160 Delopsummering vedr. connectorer, porte mm. Nogle af ideerne stammer fra ROOM metoden ( Real- Time Object-Oriented Modeling, af Bran Selic, G. Gullekson and Poul T. Ward, Wiley Implementeret først i det kommercielle værktøj ObjecTime, der idag er opkøbt af Rational og sælges som Rational Rose Real-Time. Begreberne og notationen kan defineres i UML vha. UML s udvidelsesmuligheder (stereotyper med brugerdefinerede ikoner). Ser ud til at være nyttige abstraktioner ved udvikling af realtidssystemer SW arkitektur, 24. januar

161 Views for arkitektur SW arkitektur, 24. januar

162 Views for arkitektur Der er her flere forskellige view modeller: Kruchten, 4+1 view model Hofmeister, 4 view model Nokia model, 3+1 view model SW arkitektur, 24. januar

163 Views for arkitektur Der er her flere forskellige view modeller: Kruchten, 4+1 view model Hofmeister, 4 view model Nokia model, 3+1 view model Alle er enige om at det er nyttigt at have flere views, hvor hvert view har forskelligt indhold og forskellige interessenter SW arkitektur, 24. januar

SW arkitektur 7. maj 2001. Software Arkitektur. Tiltrædelsesforelæsning 7. maj 2001

SW arkitektur 7. maj 2001. Software Arkitektur. Tiltrædelsesforelæsning 7. maj 2001 Software Arkitektur Tiltrædelsesforelæsning 7. maj 2001 Finn Overgaard Hansen Ingeniørhøjskolen i Århus Elektro- og IKT-afdelingen foh@e.iha.dk Agenda Hvorfor er arkitektur vigtig Udvikling inden for SW

Læs mere

SW arkitektur 7. maj 2001. Software Arkitektur. Softwareudvikling-på-tværs konference. København den 19. november 2001

SW arkitektur 7. maj 2001. Software Arkitektur. Softwareudvikling-på-tværs konference. København den 19. november 2001 Software Arkitektur Softwareudvikling-på-tværs konference København den 19. november 2001 Finn Overgaard Hansen Ingeniørhøjskolen i Århus Elektro- og IKT-afdelingen foh@e.iha.dk Agenda Introduktion Hvorfor

Læs mere

En todelt arkitekturmodel for hændelsesstyrede signalbehandlingssystemer

En todelt arkitekturmodel for hændelsesstyrede signalbehandlingssystemer En todelt arkitekturmodel for hændelsesstyrede signalbehandlingssystemer ved Hans Peter Jepsen, Danfoss Drives og hans_peter_jepsen@danfoss.com Finn Overgaard Hansen, Teknologisk Institut, Center for IT

Læs mere

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt

Læs mere

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation IBM Software Group SOA v akciji Srečko Janjić Business Integration technical presales IBM Software Group, CEMA / SEA Service Oriented Architecture Design principles and technology for building reusable,

Læs mere

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA UML-Light (Note: UML-Light T33, ver. 2004) Finn Overgaard Hansen, IHA Programmering PRG + Semesterprojekter PRJ+PRJ2 Version: 20--2004 Indhold Første del: Introduktion til UML-Light og UML Klasser og objekter

Læs mere

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

Kapitel 21: Softwarearkitektur designprincipper

Kapitel 21: Softwarearkitektur designprincipper Kapitel 21: Softwarearkitektur designprincipper Miriam Tang Jacob Jensen Lars Christensen Jacob Atzen Onsdag 9/3 Dagens program Definitioner Analyseværktøjer Designprocessen Raffinering Afrunding Design

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag Hvem er vi? Kursus Introduktion Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 100 studerende med forskellig baggrund: software teknologi It og Kom

Læs mere

Netværk & elektronik

Netværk & elektronik Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars

Læs mere

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1 IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

Computer Networks Specielt om Infrastrukturer og Teknologi

Computer Networks Specielt om Infrastrukturer og Teknologi Computer Networks Specielt om Infrastrukturer og Teknologi Ole Borch Slide 1 Doc Bud på arkitektur (som mange andre steder) Sygehus Hemmelig Meget hemmelig WWW browser WWW Server Dataplejer Staklen Internet

Læs mere

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

WINDCHILL THE NEXT STEPS

WINDCHILL THE NEXT STEPS WINDCHILL THE NEXT STEPS PTC/user, 4. marts 2015 Jens Christian Jensen, Econocap Agenda Windchill the next steps Bliv opdateret og inspireret til at se hvor Windchill kan hjælpe dig med andet end blot

Læs mere

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF) Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Framework (TOGAF) Otto Madsen Director of Enterprise Agenda TOGAF og informationsarkitektur på 30 min 1. Introduktion

Læs mere

Valg af Automationsplatform

Valg af Automationsplatform Valg af Automationsplatform Factory or Machine? Different Product Segments APROL for Process Control and Factory Automation Automation Studio for Machine Automation Factory Automation Factory automation

Læs mere

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads

Læs mere

2a. Conceptual Modeling Methods

2a. Conceptual Modeling Methods ICT Enhanced Buildings Potentials IKT og Videnrepræsentationer - ICT and Knowledge Representations. 2a. Conceptual Modeling Methods Cand. Scient. Bygningsinformatik. Semester 2, 2010. CONTENT Conceptual

Læs mere

Sesam seminar nr. 106. Sesam seminar nr. 106 - Opbygning af standard bibliotek til PLC / SCADA / MES

Sesam seminar nr. 106. Sesam seminar nr. 106 - Opbygning af standard bibliotek til PLC / SCADA / MES Sesam seminar nr. 106 Opbygning af standard software bibliotek til PLC / SCADA / MES Fokus områder: Fundament & omfang af software bibliotek Overvejelser i forbindelse med etablering af bibliotek Vedligeholdelse

Læs mere

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile DSB s egen rejse med ny DSB App Rubathas Thirumathyam Principal Architect Mobile Marts 2018 AGENDA 1. Ny App? Ny Silo? 2. Kunden => Kunderne i centrum 1 Ny app? Ny silo? 3 Mødetitel Velkommen til Danske

Læs mere

Introduktion til design patterns.

Introduktion til design patterns. Introduktion til design patterns. Genbrug. Pattern languges i arkitektur. Standardbeskrivelse af design patterns. Oversigt over design patterns. Observer. Composite. Decorator. Abstract Factory. Patterns

Læs mere

Online kursus: Content Mangement System - Wordpress

Online kursus: Content Mangement System - Wordpress Online kursus 365 dage DKK 1.999 Nr. 90213 P ekskl. moms Wordpress er et open-source content management system, som anvendes af mere end 23% af verdens 10 millioner mest besøgte hjemmesider. Det er et

Læs mere

educasoft - en professionel samarbejdspartner med speciale i uddannelse!

educasoft - en professionel samarbejdspartner med speciale i uddannelse! Velkommen til educasoft's hjemmeside educasoft - en professionel samarbejdspartner med speciale i uddannelse! Professionelle undervisere Undervisning i virksomheden Undervisning dag/aften eller week-end

Læs mere

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav. Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet

Læs mere

Sunlite pakke 2004 Standard (EC) (SUN SL512EC)

Sunlite pakke 2004 Standard (EC) (SUN SL512EC) Sunlite pakke 2004 Standard (EC) (SUN SL512EC) - Gruppering af chasere igen bag efter. På den måde kan laves cirkelbevægelser og det kan 2,787.00 DKK Side 1 Sunlite pakke 2006 Standard (EC) LAN (SUN SL512EC

Læs mere

Ribe Amts forslag til EPJ-arkitektur

Ribe Amts forslag til EPJ-arkitektur EPJ og integration: Ribe Amts forslag til EPJ-arkitektur Esben Dalsgaard IT-leder, Sundhedsområdet, Ribe Amt eda@ribeamt.dk Problemstillinger - set fra en datalogisk-arkitektonisk synsvinkel 2-delt arkitektur

Læs mere

Avancerede Datanet. Udviklingen i Netværksarkitekturer. Ole Brun Madsen Professor Department of Control Engineering University of Aalborg

Avancerede Datanet. Udviklingen i Netværksarkitekturer. Ole Brun Madsen Professor Department of Control Engineering University of Aalborg Department of Control Engineering Distributed Real-time Systems Avancerede Datanet Udviklingen i Netværksarkitekturer Ole Brun Madsen Professor Department of Control Engineering University of Aalborg Avancerede

Læs mere

Integrated Total Facility Management for Real Estate, Infrastructure & Facility Management

Integrated Total Facility Management for Real Estate, Infrastructure & Facility Management Integrated Total Facility Management for Real Estate, Infrastructure & Facility Management Udfordringen Top down Lederskab visioner Buttom up Fakta om Informi GIS 90 medarbejdere Full-size IT hus; salg/rådgivning/

Læs mere

MS-H280-Pro Magnetic Stirrer

MS-H280-Pro Magnetic Stirrer MS-H280-Pro Magnetic Stirrer www..com Copyright: No part of this manual may be reproduced or transmitted without prior written permission of. VERSION201407 CONTENTS Chapter 1: Working Principle... 3 1

Læs mere

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.dk/delpin User: admin Pass: admin BACKEND Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin

Læs mere

Special VFR. - ved flyvning til mindre flyveplads uden tårnkontrol som ligger indenfor en kontrolzone

Special VFR. - ved flyvning til mindre flyveplads uden tårnkontrol som ligger indenfor en kontrolzone Special VFR - ved flyvning til mindre flyveplads uden tårnkontrol som ligger indenfor en kontrolzone SERA.5005 Visual flight rules (a) Except when operating as a special VFR flight, VFR flights shall be

Læs mere

SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp

SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp SAS USER FORUM USER FORUM Rune Nordtorp Agenda Logning Audit logning Og hvorfor er det lige pludselig blevet vigtigt Logning i SAS -platformen Ressource Inventory Model Introduktion til opsætning af logning

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

Læs mere

Notat om cuneco-projekter og sammenhæng til buildingsmart-standarder og -værktøjer 2014-04-24

Notat om cuneco-projekter og sammenhæng til buildingsmart-standarder og -værktøjer 2014-04-24 Notat om cuneco-projekter og sammenhæng til buildingsmart-standarder og -værktøjer 2014-04-24 cuneco buildingsmart Formidling og indarbejdning af cuneco-resultater i buildingsmart International CCS-klassifikation

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Fart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16.

Fart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16. Fart på SAP HANA Sådan laver du analyser direkte på dine data i realtid 0 Flemming Grand Saphira Consulting Mobile: +45 30 78 45 86 Email: flemming.grand@saphiraconsulting.com Allan Christiansen Fujitsu

Læs mere

Model og Metode til Programudvikling. Jens Dalsgaard Nielsen

Model og Metode til Programudvikling. Jens Dalsgaard Nielsen Model og Metode til Programudvikling v/ Jens Dalsgaard Nielsen 1 Hvem er vi? Jens Dalsgaard Nielsen, Afd for Proceskontrol, I8 Distribuerede RT-Systems group Realtid, kerner, operativsystemer, netværk,..

Læs mere

Curriculum Vitae. Uddannelse: 2001 Civilingeniør fra Danmaks tekniske universitet, fagprofil: styring og regulering.

Curriculum Vitae. Uddannelse: 2001 Civilingeniør fra Danmaks tekniske universitet, fagprofil: styring og regulering. Curriculum Vitae Navn Gitte Brunn Fugmann Adresse Mosegård Park 9 3500 Værløse. Telefonnr +45 3927 7371 E-mail gbr@fugmann.net Fødselsdato 24. april 1974 Fødselssted Rigshospitalet, København Ægteskabelige

Læs mere

RAVE. The New Radar Motion Sensor Rated IP67: Optimized for Harsh Outdoor Applications

RAVE. The New Radar Motion Sensor Rated IP67: Optimized for Harsh Outdoor Applications RAVE The New Radar Motion Sensor Rated IP67: Optimized for Harsh Outdoor Applications Product Presentation RAVE radar motion sensor In addition to the RaDec and RMS product families, the new RAVE radar

Læs mere

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

Læs mere

PEMS RDE Workshop. AVL M.O.V.E Integrative Mobile Vehicle Evaluation

PEMS RDE Workshop. AVL M.O.V.E Integrative Mobile Vehicle Evaluation PEMS RDE Workshop AVL M.O.V.E Integrative Mobile Vehicle Evaluation NEW - M.O.V.E Mobile Testing Platform Key Requirements for Measuring Systems Robustness Shock / vibrations Change of environment Compact

Læs mere

Arkitekturdokument for Cruise Control

Arkitekturdokument for Cruise Control Arkitekturdokument for Cruise Control Cruise International Revisions historie Dato Version Forfatter Beskrivelse 2.10.2001 0.91 FOH Første version 17/03/09 1.0 KG Afs. 1 og 2 indsat (- 2.1) 15/05/09 1.1

Læs mere

MOC On-Demand Identity with Windows Server 2016 [20742]

MOC On-Demand Identity with Windows Server 2016 [20742] E-learning 90 dage DKK 7.999 Nr. 89067 P ekskl. moms Dato Sted 29-12-2019 Virtuelt kursus MOC On-Demand Identity with Windows Server 2016 [20742] Online undervisning når det passer dig MOC On-Demand er

Læs mere

Distribuerte Objekter. Våren 2010 Professor II Eric Jul F

Distribuerte Objekter. Våren 2010 Professor II Eric Jul F Distribuerte Objekter Våren 2010 Professor II Eric Jul F5 2010-04-26 Velkommen Eric Jul, Professor II, til daglig: Bell Labs, Dublin, Ireland Tor Ivar Johansen, hjelpelærer Deltagelse I Forelæsningerne

Læs mere

Small Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll

Small Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll Small Autonomous Devices in civil Engineering Uses and requirements By Peter H. Møller Rambøll BACKGROUND My Background 20+ years within evaluation of condition and renovation of concrete structures Last

Læs mere

02-03-2012. Sesam Automationstrend. Spørgsmål til leverandørerne? New Automation Technology

02-03-2012. Sesam Automationstrend. Spørgsmål til leverandørerne? New Automation Technology New Automation Technology Sesam Automationstrend Sesam Automationstrend 1 Spørgsmål til leverandørerne? Hvorledes håndteres kundekrav til udviklingsplatformen, og hvorledes håndteres kundernes specielle

Læs mere

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0 Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS

Læs mere

MOC On-Demand Administering System Center Configuration Manager [ ]

MOC On-Demand Administering System Center Configuration Manager [ ] E-learning 90 dage DKK 7.999 Nr. 90111 P ekskl. moms Dato Sted 29-12-2019 Virtuelt kursus MOC On-Demand Administering System Center Configuration Manager [20703-1] Online undervisning når det passer dig

Læs mere

SOLENERGIDAGEN 2005 Integration of Architectural Values in the Solar Cells of Tomorrow

SOLENERGIDAGEN 2005 Integration of Architectural Values in the Solar Cells of Tomorrow SOLENERGIDAGEN 2005 Integration of Architectural Values in the Solar Cells of Tomorrow Ellen Kathrine Hansen Assiciate Professor, Architect The Aarhus School of Architecture Research project, solar cells

Læs mere

Introduktion til OO* og UML

Introduktion til OO* og UML Introduktion til OO* og UML Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Hvad er OO*? UML Essensen af objekt-orienteret analyse og design: klassebegrebet Relationer mellem objekter

Læs mere

OPC UA Information model for Advanced Manufacturing

OPC UA Information model for Advanced Manufacturing OPC UA Information model for Advanced Manufacturing Michael Nielsen Managing Director Beckhoff Automation 28.09.2015 1 OPC UA Information model for Advanced Manufacturing 28.09.2015 2 Hvad er OPC? OPC

Læs mere

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication Basic Design Flow System design System/Architectural Design Instruction set for processor Hardware/software partition Memory, cache Logic design Logic Design Logic synthesis Logic optimization Technology

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Introduktion til Microsoft R. Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus

Introduktion til Microsoft R. Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus Introduktion til Microsoft R Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus Agenda Introduktion til R Data Scientists Microsoft R implementering R + SQL SQL + R Hvem er jeg Steen Dybboe Selvstændig konsulent

Læs mere

3C03 Concurrency: Model-based Design

3C03 Concurrency: Model-based Design 3C03 Concurrency: Model-based Design Wolfgang Emmerich 1 Outline Role of Modelling in System Development Refining Models into Designs FSP Actions and Operations FSP Processes and Threads FSP Processes

Læs mere

Kommunikationsprotokoller Summit06 worksession. Lisa Wells Datalogisk Institut Aarhus Universitet

Kommunikationsprotokoller Summit06 worksession. Lisa Wells Datalogisk Institut Aarhus Universitet Kommunikationsprotokoller Summit06 worksession Datalogisk Institut Aarhus Universitet Plan Kort introduktion til protokoller Protokoller i ISIS Katrinebjerg projekter Internet-baseret trådløs telefoni

Læs mere

MultiProgrammer Manual

MultiProgrammer Manual MultiProgrammer Manual MultiProgrammeren bruges til at læse og skrive værdier til ModBus register i LS Controls frekvensomformer E 1045. Dansk Version side 2 til 4 The MultiProgrammer is used for the writing

Læs mere

Finn Gilling The Human Decision/ Gilling September Insights Danmark 2012 Hotel Scandic Aarhus City

Finn Gilling The Human Decision/ Gilling September Insights Danmark 2012 Hotel Scandic Aarhus City Finn Gilling The Human Decision/ Gilling 12. 13. September Insights Danmark 2012 Hotel Scandic Aarhus City At beslutte (To decide) fra latin: de`caedere, at skære fra (To cut off) Gilling er fokuseret

Læs mere

Citrix CSP og Certificate Store Provider

Citrix CSP og Certificate Store Provider Project Name Document Title TDC Citrix Citrix og Certificate Store Provider Version Number 1.0 Status Release Author jkj Date 5-10-2006 Trademarks All brand names and product names are trademarks or registered

Læs mere

Brug af OAIS til udarbejdelse af omkostningsmodel til digital bevaring. Anders Bo Nielsen, Rigsarkivet, Danmark Alex Thirifays, Rigsarkivet, Danmark

Brug af OAIS til udarbejdelse af omkostningsmodel til digital bevaring. Anders Bo Nielsen, Rigsarkivet, Danmark Alex Thirifays, Rigsarkivet, Danmark Brug af OAIS til udarbejdelse af omkostningsmodel til digital bevaring Anders Bo Nielsen, Rigsarkivet, Danmark Alex Thirifays, Rigsarkivet, Danmark Introduktion til Cost Model for Digital Curation Begrundelse

Læs mere

GNSS/INS Product Design Cycle. Taking into account MEMS-based IMU sensors

GNSS/INS Product Design Cycle. Taking into account MEMS-based IMU sensors GNSS/INS Product Design Cycle Taking into account MEMS-based IMU sensors L. Vander Kuylen 15 th th December 2005 Content Product Definition Product Development Hardware Firmware Measurement Campaign in

Læs mere

Projektledelse i praksis

Projektledelse i praksis Projektledelse i praksis - Hvordan skaber man (grundlaget) for gode beslutninger? Martin Malis Business Consulting, NNIT mtmi@nnit.com 20. maj, 2010 Agenda Project Governance Portfolio Management Project

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets.

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets. Dagens program Har alle fået? Har nogen betalt for meget? Hav jeres koder klar Domæner change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog Hvad er widgets Hvad er

Læs mere

Revision af studieordninger

Revision af studieordninger Revision af studieordninger CS(it) Nye matematik kurser Reviderede studieordninger for Datalogi og Software til 2019 Revision af studieordninger v/ulrik Nyman 1 CS(IT) Formål: Reduktion i antallet af uddannelser:

Læs mere

Succesfuld implementering af automatiseret test

Succesfuld implementering af automatiseret test Succesfuld implementering af automatiseret test Forudsætningerne og faldgruberne John Fodeh john.fodeh@hp.com 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject

Læs mere

Processer og tråde. dopsys 1

Processer og tråde. dopsys 1 Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys

Læs mere

What s Our Current Position? Uddannelsesstruktur i AUE. What Can You Choose After DE5? Uddannelsesstruktur i AUE

What s Our Current Position? Uddannelsesstruktur i AUE. What Can You Choose After DE5? Uddannelsesstruktur i AUE Information Meeting for DE5 and DE3 Further Study Possibilities What s Our Current Position? General Education Structure Andre muligheder DE3-DE5 Semesters (AUE) What Can You Choose After DE5? Diplomingeniøruddannelsen

Læs mere

Integrated Engineering i Procesindustrien

Integrated Engineering i Procesindustrien On the way to the digital plant Integrated Engineering i Procesindustrien siemens.com/answers En del af den 4. Industrielle Revolution Solution siemens.com/answers Set i en tidsmæssig sammenhæng Design

Læs mere

Real-time programming safety in Java and Ada

Real-time programming safety in Java and Ada Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger

Læs mere

Semco Maritime - Vækst under vanskelige vilkår. Offshoredag 2009 Vice President Hans-Peter Jørgensen

Semco Maritime - Vækst under vanskelige vilkår. Offshoredag 2009 Vice President Hans-Peter Jørgensen Semco Maritime - Vækst under vanskelige vilkår Offshoredag 2009 Vice President Hans-Peter Jørgensen Agenda Semco Maritime forretningen Vækst via internationalisering Fremtidig vækststrategi Konsekvenser

Læs mere

CONNECTING PEOPLE AUTOMATION & IT

CONNECTING PEOPLE AUTOMATION & IT CONNECTING PEOPLE AUTOMATION & IT Agenda 1) Hvad er IoT 2) Hvilke marked? 1) Hvor stor er markedet 2) Hvor er mulighederne 3) Hvad ser vi af trends i dag Hvad er IoT? Defining the Internet of Things -

Læs mere

Heuristics for Improving

Heuristics for Improving Heuristics for Improving Model Learning Based Testing Muhammad Naeem Irfan VASCO-LIG LIG, Computer Science Lab, Grenoble Universities, 38402 Saint Martin d Hères France Introduction Component Based Software

Læs mere

CONNECTING PEOPLE AUTOMATION & IT

CONNECTING PEOPLE AUTOMATION & IT CONNECTING PEOPLE AUTOMATION & IT Agenda 1) Hvad er IoT 2) Hvilke marked? 1) Hvor stor er markedet 2) Hvor er mulighederne 3) Hvad ser vi af trends i dag Hvad er IoT? Defining the Internet of Things -

Læs mere

Microservices. Hvad er det og hvordan kommer du i gang?

Microservices. Hvad er det og hvordan kommer du i gang? Microservices Hvad er det og hvordan kommer du i gang? Introduktion til Microservices Softwareudvikling Historie Softwarearkitektur Mentoring 10 konsulenter Bezos befaling All teams will henceforth expose

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

Introduktion til versionsstyring

Introduktion til versionsstyring make connections share ideas be inspired Introduktion til versionsstyring Thomas Damgaard Technical Architect, SAS Institute Agenda Hvad er versionsstyring? Hvorfor benytte versionsstyring? Historisk gennemgang

Læs mere

Vore IIoT fokus områder

Vore IIoT fokus områder Vore IIoT fokus områder INDUSTRI FORSYNINH & INFRASTRUKTUR BYGNING & DATACENTER TRANSPORT & LOGISTIK Ewon & Talk2M - A proven success! ewons connected Talk2M servers Alle taler om det! Fjernadgang og Industrial

Læs mere

PAXNET. - Den tekniske implementering - Offentlig netværks ydelser - Det fysiske netværk - Drift af netværket

PAXNET. - Den tekniske implementering - Offentlig netværks ydelser - Det fysiske netværk - Drift af netværket PAXNET - Den tekniske implementering - Offentlig netværks ydelser - Det fysiske netværk - Drift af netværket Detaljeret indhold PAXNET og standarder Data transport (X.25 baseret) Tilkoblingsmuligheder

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Lektion 3. Grundlæggende programmering i VR

Lektion 3. Grundlæggende programmering i VR Lektion 3 Grundlæggende programmering i VR Plan for i dag UML Usecase diagrammer Aktivitets diagrammer Klasse diagrammer Udforskning af forskelligt VR og andre måder at udvide virkeligheden på Cardboard

Læs mere

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling 6.5.2009 Jacob Schaumburg-Müller jacobs@microsoft.com Direktør, politik og strategi Microsoft

Læs mere

extreme Programming Kunders og udvikleres menneskerettigheder

extreme Programming Kunders og udvikleres menneskerettigheder extreme Programming Software Engineering 13 1 Kunders og udvikleres menneskerettigheder Kunder: At sætte mål og få projektet til at følge dem At kende varighed og pris At bestemme softwarefunktionalitet

Læs mere

Operation Manual SMS Air Conditioner Remote Controller Model No.: SR-001

Operation Manual SMS Air Conditioner Remote Controller Model No.: SR-001 Operation Manual SMS Air Conditioner Remote Controller Model No.: SR-001 Ls venligst denne instruktions manual igennem inden brug af produktet Thank you for purchasing our product. This smart unit is not

Læs mere

DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort. Martin Dissing-Hansen 251088 Alexander Poopeiko 090288 Jens Riise Danielsen 100267

DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort. Martin Dissing-Hansen 251088 Alexander Poopeiko 090288 Jens Riise Danielsen 100267 DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort Martin Dissing-Hansen 251088 Alexander Poopeiko 090288 Jens Riise Danielsen 100267 December 17, 2009 3.1 Valg at brugsmønster til udvidelse

Læs mere

Lovkrav vs. udvikling af sundhedsapps

Lovkrav vs. udvikling af sundhedsapps Lovkrav vs. udvikling af sundhedsapps Health apps give patients better control User Data Social media Pharma Products User behaviour Relatives www Self monitoring (app) data extract Healthcare specialists

Læs mere

En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!?

En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!? En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!? DDI møde 18.09.2019 - UCL, Odense. V/ Projektleder og lektor Lars Bojen, IT & Tech uddannelserne, lcbn@ucl.dk Agenda 1.

Læs mere

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

PROGRAM 2010. Erfaring - Inspiration - Network - Idéer - Viden. HP Test Brugergruppe Brugerkonference. 11. november 2010

PROGRAM 2010. Erfaring - Inspiration - Network - Idéer - Viden. HP Test Brugergruppe Brugerkonference. 11. november 2010 PROGRAM Erfaring - Inspiration - Network - Idéer - Viden Hotel Scandic Copenhagen Vester Søgade 6 1601 København 09:00-09:30 Modtagelse og morgenmad 09:30-09:45 Velkomst og præsentation af konferencen

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 SAS VISUAL ANALYTICS 7.1 ADMINISTRATOR Mulighed for at udføre handlinger på flere servere

Læs mere

Emergency call button. Stabilt og simpelt

Emergency call button. Stabilt og simpelt Emergency call button Stabilt og simpelt 1 Agenda Områder af speciel interesse Gennemgang Hvad har jeg lært? Spørgsmål 2 Områder af speciel interesse Domæne, Krav, Use Cases, Kvalitetsattributter Arkitektur

Læs mere

DAXIF# - Delegate Automated Xrm Installation Framework. Delegate A/S

DAXIF# - Delegate Automated Xrm Installation Framework. Delegate A/S DAXIF# - Delegate Automated Xrm Installation Framework Delegate A/S Agenda Delegate A/S DAXIF# Kun et programmeringssprog Type stærke script (og selvdokumenterende) filer Unit tests afvikles før assembly

Læs mere

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

make connections share ideas be inspired

make connections share ideas be inspired make connections share ideas be inspired Integration af prædiktive analyser og operationelle forretningsregler med SAS Decision Manager Kristina Birch, chefkonsulent Professional Services, Banking & Mortgage

Læs mere

Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases

Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases Rasmus L. Olsen, 27 februar 2008 Introduktion Kursets hjemmeside http://www.kom.aau.dk/~rlo/ Kursus holder Rasmus L. Olsen Færdiguddannet

Læs mere

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering Backup Applikation Microsoft Dynamics C5 Version 2008 Sikkerhedskopiering Indhold Sikkerhedskopiering... 3 Hvad bliver sikkerhedskopieret... 3 Microsoft Dynamics C5 Native database... 3 Microsoft SQL Server

Læs mere