SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
ESUG 2009
                                  Brest
Reference - date




                                  Thales RWS Brest


                   Aéronautique
Agenda


                       History : Smalltalk in Thales Brest

                       Domain Context

                       Modelling and mockup with Smock

                       Component Testing with PicUnit

                       Conclusions
Reference - date




                   1    Aéronautique
Smalltalk in Thales Brest

                             A story of twenty years:
                                              1989-1997: Sensor software development
                                                               MMI development on real time operating system (VRTX), C (TNI) code generator
                                                               MMI development for embedded workstation, Static typing, C++ (Thales) code generator
                                                               Automatic test workbench (IEEE488, VxWorks)
                                              1996-2000: Training centers
                                              1996-2003: MMI workstation for Maritime patrol aircraft demonstrator
                                              2002-2009:
                                                               System Modeling and Mockup
                                                               Component testing


                                                                          F5           A1             A2
                                                          F2                                     A2
                                                                     F4             Activities
                                             F1

                                                               F3


                                    F21
                                      F22     C1
                             F1
                                                                    C2
                                   F6                               F3
                                                                         C3
Reference - date




                                                    C12
                                  C11               F22             C2
                                   F21
                             F1                                                C4
                              F6                  C1’
                                             F7                C3


                                                                                                           MOCK OMI               MOCK TP


                                                  Processors                                                          AGENT LSE


                                            Buses
                                                                                                       MOCK NAV                    MOCK RAD



                   2   Aéronautique
Why/ Which Smalltalk

                             Why Smalltalk
                                 MMI RAD
                                 Efficient solution proved by TNI feedbacks
                             Which Smalltalk
                                 Parc Place version & Cincom versions
                                      The only multiplatform version available in the early 80’s.
                                      From Smalltalk 2.5 up to VisualWorks 7i
                             Packages:
                                 Smalltalk Compiler / Refactoring browser    Code generation
                                 UI    MMI building with dedicated look & feel
                                 DLLCC      External access
                                 DST, Opentalk     OMG Corba
                                 Internal package:
                                      SCM     Component Model CCM Like
                                      DOS     Distributed Object System
Reference - date




                                      DSS     DST tools and addOn




                   3   Aéronautique
Agenda


                       History : Smalltalk in Thales Brest

                       Domain Context

                       Modelling and mockup with Smock

                       Component Testing with PicUnit

                       Conclusions
Reference - date




                   4    Aéronautique
Domain : Patmar, Surmar and EWC2
                                         Civilian Missions (SURMAR)
                                           Assistance and support to police & customs
                                           Detection & control of pollution
                                           Assistance to scientific observations
                                           Surveillance of maritime traffic and offshore oil fields
                                           Search & Rescue medical evacuation
                                           Control & monitoring of fisheries
                                           Antipollution

                                         Military Missions (PATMAR)
                                           Anti-Submarine Warfare (ASW)
                                           Anti-Surface Unit Warfare (ASUW)
                                           EEZ Surveillance(Exclusive Economic Zone)
                                           Maritime Traffic Control
                                           Surveillance of off shore oil fields
                                           Search and Rescue
                                           Fishing Surveillance

                                         Electronic Warfare C2 Functions + RESM
                                           EW Picture elaboration
                                           EW engagement management
                                           On-board Combat Management System interface
Reference - date




                   5   Aéronautique
TCS Product


                                                                                                                                MPA UE
                        Cockpit
                        Display




                                                                                                                                      Laptop
                                                                                                                                     Computer
                                                                                                                                     (training)



                       MSA LE

                         Ocean Master            FLIR         AIS                Anti-pollution      Self        COMINT      Sonobuoy &
                            Radar                                                  Sensors        protection     (option)   marker launchers




                        Mission     Navigation          IFF          Comms               ESM         Acoustic                   Torpedoes
                                                                                                                     MAD
                         Data        System                         Data Links                      (TMS 2000)               & Depth charges
                        Recorder                                     Satcom
Reference - date




                   6   Aéronautique
Product line : a configurable system

                                OMI    OMI    OMI    OMI    OMI
                                                                   Packaging       Redhat Packaging Manager                  OMI

                                                                                                                             Data
                                Data   Data   Data   Data   Data
                                                                   Deployment       Redhat Packaging Manager
                                                                   Configuration     SCS XML files                                  OMI

                               Product library                                                                                      Data



                                                                                                        IVVQ
                                                                                                     Deployement
                                        Packaging




                                                                                     MAS MPA
                                                                                                      SCS



                                                       SCS
                               MAS MSA LE
                                                                                              MAS MSA
                          IVVQ                                                                                                                    OMI

                       Deployement                                                                                                                Data



                                                                                                                      IVVQ
                                                                                             SCS                   Deployement
                                                                    Configuration                                                          OMI

                                                                                                                                           Data




                        OMI
Reference - date




                        Data



                                                                          All systems share the same core of MOSAIC
                                                                        components (PIC)
                                                                          Several implementation for the same contract

                   7   Aéronautique
MOSAIC Architecture
                                                                                                                                                   To provide mechanism to share
                                                                                                                                                   the Tactical Situation
                                                                                                                                                   To provide Command & Control
                                                                                                                                                   functions
                                                                                                                                                   To minimize integration Risks
                           OMI Application                    Mission Data Processing Application
                                                                                                                                                   To allow System Product
                                                                                                                                                   Evolution & Adaptation
                                     I
                                    M




                                                                       Service invocation
                                   O
                                 t C




                                                                                                                                                   To give a Common Framework to
                              en PI
                            ag ion




                                                                                              Supervision PIC                                      multi-company projects
                             is
                           rv




                                                                                                  Agent
                                                                                                                                                   Scalability & performances
                         pe
                       Su




                                                              Shared
                              PIC xx OMI     Data retrieval    data        Data                                                                    (through data base caching, data
                                Agent                                    publication
                                                                                                                                       iri
                                                                                                                                          es       and agents distribution…)
                                                                                                                                     ra
                                                                                        PIC xx Agent                              lib
                                                                                                                                  ng
                                                                                                                                                   Reliability (when an agent
                                                               Core                                                             si                 crashes, others can survive)
                                                               model                                                          es Service
                                                                                                                            oc
                                                                                                                          pr
                                                                                                                     ta
                                                                                                                                 invocation        Interoperability through Corba
                                                                                                                   da
                                                                                                              on                 I/O n             standard compliant services
                                                                                                             m                 L atio
                                                                                                            m                HA lic
                                                                                                          Co                   p                   Extensibility (ability to add /
                                                               PIC                                                           Ap
                           GFL                                                              MAF                                                    modify agents, equipment, with
                                                                                                                                                   no / few modification)
                       DOS         DSS                                          DSS          DOS       GSM
                                                                                                                                                   High software and system
                                                                                                                            Sérial RS links
                                                                                                                                                   integration productivity
                                           System Manager Application                                                       Discrete signals
                                                                                                                                                   Openness (to various languages,
                                                                                                                            1553B busses
                             Services (CORBA) SW bus on Ethernet                                                            Arinc                  hardware platforms, COTS
Reference - date




                                                                                                                                                   software products integration…)
                          Objects SW bus on Ethernet
                                                                                                                                                   Long term availability (through
                                                                                                                                                   standard based, COTS
                                                                                                                                                   independence and market driven
                                                                       MOSAIC                                                                      COTS / technologies choices)
                                                              « Data Centric » Architecture
                   8     Aéronautique
Modeling, Mockup and Simulation
                           New concepts                                                                         System solutions
                                                                                                                System solutions
                           New concepts
                             engineering                                                                           engineering
                                                                                                                  engineering
                            engineering
                                                                                                               •Technical system parameters
                                                                                                             •Technical system parameters
                       • • Operational concept mining
                         Operational concept mining                                                            identification
                                                                                                             identification
                         • Usage concept mining
                       • Usage concept mining                                                                • • System sizing
                                                                                                                System sizing
                       • • Human factors
                         Human factors                     Capacities                                          • Performance engineering
                                                                                                             • Performance engineering
                         • Value analysis
                       • Value analysis                                    System                            • • TRL assessment
                                                                                                                TRL assessment
                         •Demonstrator for show room
                       •Demonstrator for show room        Engineering                                          • Design solution assessment
                                                                         architecting                        • Design solution assessment
                                                            &                                                • • Impact analysis (new function/
                                                                                                                Impact analysis (new function/
                                                                                                               new technology)
                                                                    Model                                    new technology)
                                                        promotion
                           Innovate                                Mockup
                          Innovate                                        Simulation
                         Define the                                                                            Define the right
                                                                                                               Define the right
                        Define the
                          right offer                                     Hybrid                                 architecture
                                                                                                                architecture
                         right offer
                        & promote it
                        & promote it                                    prototyping
                                                                                                             Secure the
                                                                                                             Secure the
                                                                   Technical solutions
                                                                  Technical solutions
                                                                      engineering
                                                                                                            development
                                                                                                            development
Reference - date




                                                                     engineering
                                                           • Prototyping
                                                         • Prototyping
                                                           • Pilot development
                                                         • Pilot development
                                                         • • Development support:
                                                           Development support:
                                                                   •Specifications validation
                                                                  •Specifications validation
                                                                  •Pre integration && verification (host)
                                                                   •Pre integration verification (host)

                   9    Aéronautique
Software production process

                                                                 Mockup with
                                       Definition                  SMOCK


                                              Mockup                               Component
                                                                                    approach
                                                    Modelisation

                            Model-Driven                    Architecture
                            Engineering                                                        Testing with
                                                                                                 PICUNIT
                                                                 Development

                                           Technological                   Tests
                                           Capitalisation

                                                                               Integration
Reference - date




                   10   Aéronautique
Agenda


                    History : Smalltalk in Thales Brest

                    Domain Context

                    Modelling and mockup with Smock

                    Component Testing with PicUnit

                    Conclusions
Reference - date




                   11   Aéronautique
Component: Aim Architecture
                               Component approach structures the system and the
                                 development
                                                               A      C
                                                                               Component
                                                                               Architecture
                                                          B                    Packaged
                                                                               Contract


                                                         Object
                                                         Architecture appear
                                                         Packaged
                                                         No contract
Reference - date




                                       Object
                                       No architecture
                                       No contract
                   12   Aéronautique   flat
Component approach : SCM

                              Smalltalk Component Model
                                  CCM Like Component approach inherited from Jaguar (Thales/DCNS Java
                                  Framework)
                              Introduction of interface in Smalltalk
                              Notion of component manager, deployment services home services,
                              locator services, …



                                         Provided
                                         services                                Required
                                                                                 services
                                                          Component
                                       Consummed                                 Produced
                                         Events                                   events
Reference - date




                                                            Parameters




                   13   Aéronautique
Example

                         Interface definition
                                   MyNameSpace
                                              defineInterface: #MyServices
                                              super: nil
                                              with: #(serviceOne: serviceTwo )

                         Component definition

                              defineComponent
                                       self

                                                   providedServices: #(#{MyNameSpace.MyServices})
                                                   requiredServices: #()
                                                   consumedEvents: #()
Reference - date




                                                   producedEvents: #(#{MyNameSpace.MyEvents})




                   14   Aéronautique
Mockup environment : SMOCK

                          Agile development environment:
                                                                                           Full operator
                             Full operator workstation mockup                              workstation
                             Component based architecture
                             modeling
                             Interaction behaviour simulation
                             Multi workstation on a simple laptop
                             Easy sharing between all actors
                             including customer:
                                  easy packaging                             Multi
                                  easy deployment on a simple laptop      workstation
                             Early evaluation of relevant scenario
                             Integrated development cost model



                              Few days to one month for a
                           new mockup
                              Significant evolution in real
Reference - date




                           time
                              Collaborative work


                   15   Aéronautique
On the future

                              Architecture modeling
                                  From system architecture to executable model in Smalltalk


                              Link from Mockup to System and Software tools
                                  Models and Requirements definition
                                  Product line management
                                  Configuration management
                                  Code generation
Reference - date




                   16   Aéronautique
A1            A2
                    Global View of Models & Links                        F2
                                                                                         F5
                                                                                                                A2
                                                                                    F4             Activities
                   System Functional Need                   F1                                      Operational Analysis
                                                                                                           Model
                           Model                                              F3

                                                                                         Functions
                                                   F21
                                                     F22     C1
                                            F1                                     C2
                   Logical Architecture           F6                               F3
                                                                                        C3
                          Model
                                                                                                   ‘Behavioural’
                                                                   C12                              Components
                                                 C11               F22             C2
                                                  F21
                                            F1                                                C4
                                             F6                  C1’
                                                            F7                C3


                   Physical Architecture
Reference - date




                          Model
                                                                 Processors                     ‘Platform’
                                                                                               Components
                   17   Aéronautique                       Buses
Agenda


                    History : Smalltalk in Thales Brest

                    Domain Context

                    Modelling and mockup with Smock

                    Component Testing with PicUnit

                    Conclusions
Reference - date




                   18   Aéronautique
PicUnit tool in which context?
                         Context :
                            Component architecture with few levels
                            Service interfaces : Corba
                            Datamodel interface : Database
                            Dev context : other components not yet
                            available when developping a component
                            Testing internal PIC and external PIC
                                                                      DB




                                                                     PIC LSE
                                                  PIC NAV                      PIC RAD

                                                                      MMI


                                   NAV EQPT
                                                                     AGENT               RAD EQPT
Reference - date




                                Validate component itself and also communication with other
                                                   components around
                   19   Aéronautique
PicUnit tool for which usages?
                         Usages :                                             Problem investigation
                            Unit test for component                                                                Boom !

                            Simulate middleware interfaces                         PIC LSE
                            Simulate other components
                            Swiss knife for problem investigation                   MMI                  PicUnit
                            Prepare a defined state
                            Simulators
                                                                                    AGENT           DB
                        Testing a standalone component

                                       AGENT         PicUnit                  Simulate other components

                                                                                           DB

                         Testing a Standalone PIC

                                       PIC LSE                                            PIC LSE
                                                                         PicUnit                             PicUnit
                                                       PicUnit
                                        MMI
Reference - date




                                                                                           MMI



                                       AGENT                                              AGENT
                                                         DB

                   20   Aéronautique
Reference - date
                                       PicUnit Screenshot




                   21   Aéronautique
PicUnit Map

                                                                 PicUnit
                        MOCK-X.pst                 MOCK X           …        MOCK Y                MOCK-Y.pst

                        Datamodel.pst                  Datamodel        Corba Ext I/C       MOCK-InterPicCommon.pst


                        DOS.pst                          DOS                   DSS                     DSS.pst

                        DOSNotification.pst            Mock Generic &        Gen Doc            TEST-STD.pst
                                                           Tools
                        MOCK-COMMON.pst

                                                               VisualWorks                            DST*.pst
                        PicUnit.cha
                                                   SUnit         DLL CC       OT/DST             Opentalk*.pst
                   PIC NAV
                        Sunit*.pst                     Utils      Kernel       Tools            Debugger*.pst
Reference - date




                        DLLCC.pst                                              …                  Browser*.pst

                        Sunit*.pst                                                      …
                                          Visual.sou
                   22    Aéronautique
DOSTool
                          DB Inspector
                             Browse the database objects
                             Generate Datamodel smalltalk classes
                             Create / Delete / Modify object
                                                                                      t   it
                             Same features available in the Tests via an API
                                                                                  pec
                                                                               Ins




                                                                                                 Modify object
                                                                                                  and Accept
Reference - date




                   23   Aéronautique
DSSTool
                          DSS Tool
                             Load an IDL file or an alreaded recorded module in Repository
                             Corba modules tree view : Module > Interfaces > services
                             Generate services (a Module = a Package + a namespace)
                             Simple usage : register I/C in NS, call service by DoIt, unregister I/C
                             Service argument editor
Reference - date




                   Browse modules / (un)register in NS /
                                                                                 Edit complex arguments / service call
                   services call
                   24   Aéronautique
SUnit
                          SUnit
                             Famous xUnit framework
                             Dev context : launch a test and debug it in the
                             browser
                             Qualification context: launch all tests in TestRunner
                             Generate Test Description document (STD)
Reference - date




                   25   Aéronautique
a PIC = a Mock
                          a Mock = a smalltalk bundle than represents a PIC
                             Same interfaces
                             Replace the PIC and/or control the PIC
                             DSS server (generated + implementation)
                             DSS client
                             PIC Datamodel (generated + customization)
                             Tests


                                       The LSE PIC                            The LSE Mock

                                   2
                                           PIC LSE                       1
                        PIC NAV                           PIC RAD

                                            MMI                          2

                                       4             3                   3

                                           AGENT 1                       4
Reference - date




                   26   Aéronautique
What next?

                             Link between PicUnit and Smock :
                                       Define Model in Smock and Generate it in PicUnit
                                       Generate source code for PIC Developement
                                       Generate tests for PIC



                             Integration with Continuous Integration Platform :
                                       Output TestResults in XMLUnit format
                                       Automaticaly test launching for each PIC changes (each commit in SCM)
                                       Instant Map of the project
Reference - date




                   27   Aéronautique
Agenda


                    History : Smalltalk in Thales Brest

                    Domain Context

                    Modelling and mockup with Smock

                    Component Testing with PicUnit

                    Conclusions
Reference - date




                   28   Aéronautique
Conclusion
                              Why we love it :
                                   RAD with regular and high quality language
                                   Efficient IDE
                                   Model oriented
                                   Easy code generation
                                   Very improved Debugger
                                   Swiss knife

                              but :
                                   Image concept in training context
                                   Important psychological first step
                                   Not widespread language
Reference - date




                                            Is it the first model centric workshop ?




                   29   Aéronautique
Agenda




                                       Questions?
Reference - date




                   30   Aéronautique
Engineering phase : the TFC


                                                               Component 1       Component 2


                    Technical Foundation Classes
                                 =                                  Stub              Stub            Contract
                                                                   Thales            Thales
                              components interfaces
                                        +
                                components stubs
                                        +
                             components description
                                                                    Impl              Impl           Implementation
                                                                   Milsoft            D3S
Reference - date




                                       TFC provides a full contract (model, interface, stub, test)

                   31   Aéronautique
Component cartography (partial)

                             ACS ASA ESM FLR             IFF     RAD RMG TCN NAV RDO LOG L11                      LSE
                              (6) (5) (6) (6)             (8)     (6) (4) (6) (5) (4) (4) (30)                    (30)

                             PLG    PLG    PLG    PLG    PLG      PLG         PLG                         PLG     PLG     PLG: Action On Selection Plugging

                                                                   TACPLOT (23)                                           DFL: Data Flow
                             DFL    DFL    DFL    DFL    DFL      DFL         DFL    DFL                  DFL     DFL
                                                                                                                          DOS: DOS Proxy

                                                                DOS Proxy Manager                                         DOS: DSS Proxy
                                                                                                            DOS     DOS
                                                                                                           DOS     DOS
                             DOS    DOS    DOS    DOS    DOS      DOS   DOS   DOS    DOS    DOS    DOS    DOS     DOS
                                                                                                                          PMG: Panels Manager

                                                                DSS Proxy Manager                                         Facade: SUP Facade
                             DSS    DSS    DSS    DSS    DSS      DSS   DSS   DSS    DSS    DSS    DSS    DSS     DSS




                             PMG           PMG    PMG    PMG      PMG   PMG   PMG    PMG    PMG    PMG    PMG     PMG




                            FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE            Thales
                                                                                                                                  Havelsan
                                                                    SUP SA (3)
                                                                                                                                  Milsoft
                                                                Jaguar Domain (25)                                                Silicomp
                                                                                                                                  Coframi
                                                                 Jaguar Core (35)
Reference - date




                                                                                                                                  D3S




                                             Total of more than 25 PICs and 300 Components

                   32   Aéronautique
Architecture Design: the Art of Compromise
          Modélisation

                                   The final Product Architecture must deal with potentially
                                   contradictory Constraints, which impact Breakdown, e.g. :
                                        Safety, Dependability / Fault Tolerance, Certification…
                                        Time-critical functional Paths
                                        Performances & required [hardware] Resources
                                        Mapping on [existing] hardware, middleware, reference Architecture…
                                        Functional grouping Consistency
                                        Dynamic Behaviour
                                        System Modes & States
                                        Complexity of internal interfaces                   ViewPoints
                                        Human Factors
                                        Dependency in System Integration
                                        Security
                                        Ease of sub-contracting
                                        Reuse, existing Legacy, Product Line Policy             Solution
                                        Modularity, Ability to evolve                         Architecture
                                        Available technologies, COTS…
Reference - date




                                 Building an appropriate Architecture means finding the
                                most acceptable Compromise between these Viewpoints

                   33    Aéronautique
PIC structure

                                       PIC
                                       PIC


                                       OMI
                                       OMI                 Datamodel

                         DSS Server


                                               POM   SOM
                        DSS
                        Client



                                       Agent
                                       Agent
Reference - date




                   34   Aéronautique
Environnement et interfaces
                                                         Schémas VERSANT
                          Modèle de                         des modèles                         Lecture/Ecriture
                                              génération
                        données (XML)                        de données

                                                               chargement
                                Génération                                           PIC à
                                des classes                                          tester
                                Small Talk




                                                                   API C++/Java
                                                                                                   DOS
                                                 API C

                                                          BDD                                      DSS
                                                         VERSANT
                          Outil                                                                    HAL
                          PIC                                                                      TIS (NDI)
                        TESTEUR
Reference - date




                                                         Acteurs et interfaces dans l’environnement du
                                                                                  PIC TESTEUR
                   35   Aéronautique

Weitere ähnliche Inhalte

Ähnlich wie Thales Smalltalk Usage: PicUnit

Tmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covinoTmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covinoMarco Daccò
 
EDEN - Pps6 Eden Project Description
EDEN - Pps6 Eden Project DescriptionEDEN - Pps6 Eden Project Description
EDEN - Pps6 Eden Project Descriptionh2portugal
 
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-engmilsoftSDC
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencercodebits
 
B tech Final Year Projects & Embedded Systems Training
B tech Final Year Projects & Embedded Systems Training B tech Final Year Projects & Embedded Systems Training
B tech Final Year Projects & Embedded Systems Training Technogroovy India
 
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...OdessaJS Conf
 
GNAT GPL For Mindstorms
GNAT GPL For MindstormsGNAT GPL For Mindstorms
GNAT GPL For MindstormsAdaCore
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnelukdpe
 
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerEi502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerDebasis Das
 
IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010
IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010
IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010Altera Corporation
 
GlusterFS モジュール超概論
GlusterFS モジュール超概論GlusterFS モジュール超概論
GlusterFS モジュール超概論Keisuke Takahashi
 
Micron projectsportfolio 2017
Micron projectsportfolio 2017Micron projectsportfolio 2017
Micron projectsportfolio 2017Massimo Manca
 
Virtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges AheadVirtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges AheadBrain IoT Project
 
Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio Andrea Gangemi
 

Ähnlich wie Thales Smalltalk Usage: PicUnit (20)

Tmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covinoTmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covino
 
EDEN - Pps6 Eden Project Description
EDEN - Pps6 Eden Project DescriptionEDEN - Pps6 Eden Project Description
EDEN - Pps6 Eden Project Description
 
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
 
FSE_RTSimex
FSE_RTSimexFSE_RTSimex
FSE_RTSimex
 
Mega & micro technology trends
Mega & micro technology trendsMega & micro technology trends
Mega & micro technology trends
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
 
B tech Final Year Projects & Embedded Systems Training
B tech Final Year Projects & Embedded Systems Training B tech Final Year Projects & Embedded Systems Training
B tech Final Year Projects & Embedded Systems Training
 
Network
NetworkNetwork
Network
 
Network
NetworkNetwork
Network
 
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
 
GNAT GPL For Mindstorms
GNAT GPL For MindstormsGNAT GPL For Mindstorms
GNAT GPL For Mindstorms
 
Mono
MonoMono
Mono
 
Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
 
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerEi502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
 
IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010
IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010
IXXAT--Industrial Ethernet Challenges/Solutions: Embedded World 2010
 
GlusterFS モジュール超概論
GlusterFS モジュール超概論GlusterFS モジュール超概論
GlusterFS モジュール超概論
 
Micron projectsportfolio 2017
Micron projectsportfolio 2017Micron projectsportfolio 2017
Micron projectsportfolio 2017
 
Virtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges AheadVirtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges Ahead
 
Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio
 

Mehr von ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Mehr von ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Kürzlich hochgeladen

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Kürzlich hochgeladen (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Thales Smalltalk Usage: PicUnit

  • 1. ESUG 2009 Brest Reference - date Thales RWS Brest Aéronautique
  • 2. Agenda History : Smalltalk in Thales Brest Domain Context Modelling and mockup with Smock Component Testing with PicUnit Conclusions Reference - date 1 Aéronautique
  • 3. Smalltalk in Thales Brest A story of twenty years: 1989-1997: Sensor software development MMI development on real time operating system (VRTX), C (TNI) code generator MMI development for embedded workstation, Static typing, C++ (Thales) code generator Automatic test workbench (IEEE488, VxWorks) 1996-2000: Training centers 1996-2003: MMI workstation for Maritime patrol aircraft demonstrator 2002-2009: System Modeling and Mockup Component testing F5 A1 A2 F2 A2 F4 Activities F1 F3 F21 F22 C1 F1 C2 F6 F3 C3 Reference - date C12 C11 F22 C2 F21 F1 C4 F6 C1’ F7 C3 MOCK OMI MOCK TP Processors AGENT LSE Buses MOCK NAV MOCK RAD 2 Aéronautique
  • 4. Why/ Which Smalltalk Why Smalltalk MMI RAD Efficient solution proved by TNI feedbacks Which Smalltalk Parc Place version & Cincom versions The only multiplatform version available in the early 80’s. From Smalltalk 2.5 up to VisualWorks 7i Packages: Smalltalk Compiler / Refactoring browser Code generation UI MMI building with dedicated look & feel DLLCC External access DST, Opentalk OMG Corba Internal package: SCM Component Model CCM Like DOS Distributed Object System Reference - date DSS DST tools and addOn 3 Aéronautique
  • 5. Agenda History : Smalltalk in Thales Brest Domain Context Modelling and mockup with Smock Component Testing with PicUnit Conclusions Reference - date 4 Aéronautique
  • 6. Domain : Patmar, Surmar and EWC2 Civilian Missions (SURMAR) Assistance and support to police & customs Detection & control of pollution Assistance to scientific observations Surveillance of maritime traffic and offshore oil fields Search & Rescue medical evacuation Control & monitoring of fisheries Antipollution Military Missions (PATMAR) Anti-Submarine Warfare (ASW) Anti-Surface Unit Warfare (ASUW) EEZ Surveillance(Exclusive Economic Zone) Maritime Traffic Control Surveillance of off shore oil fields Search and Rescue Fishing Surveillance Electronic Warfare C2 Functions + RESM EW Picture elaboration EW engagement management On-board Combat Management System interface Reference - date 5 Aéronautique
  • 7. TCS Product MPA UE Cockpit Display Laptop Computer (training) MSA LE Ocean Master FLIR AIS Anti-pollution Self COMINT Sonobuoy & Radar Sensors protection (option) marker launchers Mission Navigation IFF Comms ESM Acoustic Torpedoes MAD Data System Data Links (TMS 2000) & Depth charges Recorder Satcom Reference - date 6 Aéronautique
  • 8. Product line : a configurable system OMI OMI OMI OMI OMI Packaging Redhat Packaging Manager OMI Data Data Data Data Data Data Deployment Redhat Packaging Manager Configuration SCS XML files OMI Product library Data IVVQ Deployement Packaging MAS MPA SCS SCS MAS MSA LE MAS MSA IVVQ OMI Deployement Data IVVQ SCS Deployement Configuration OMI Data OMI Reference - date Data All systems share the same core of MOSAIC components (PIC) Several implementation for the same contract 7 Aéronautique
  • 9. MOSAIC Architecture To provide mechanism to share the Tactical Situation To provide Command & Control functions To minimize integration Risks OMI Application Mission Data Processing Application To allow System Product Evolution & Adaptation I M Service invocation O t C To give a Common Framework to en PI ag ion Supervision PIC multi-company projects is rv Agent Scalability & performances pe Su Shared PIC xx OMI Data retrieval data Data (through data base caching, data Agent publication iri es and agents distribution…) ra PIC xx Agent lib ng Reliability (when an agent Core si crashes, others can survive) model es Service oc pr ta invocation Interoperability through Corba da on I/O n standard compliant services m L atio m HA lic Co p Extensibility (ability to add / PIC Ap GFL MAF modify agents, equipment, with no / few modification) DOS DSS DSS DOS GSM High software and system Sérial RS links integration productivity System Manager Application Discrete signals Openness (to various languages, 1553B busses Services (CORBA) SW bus on Ethernet Arinc hardware platforms, COTS Reference - date software products integration…) Objects SW bus on Ethernet Long term availability (through standard based, COTS independence and market driven MOSAIC COTS / technologies choices) « Data Centric » Architecture 8 Aéronautique
  • 10. Modeling, Mockup and Simulation New concepts System solutions System solutions New concepts engineering engineering engineering engineering •Technical system parameters •Technical system parameters • • Operational concept mining Operational concept mining identification identification • Usage concept mining • Usage concept mining • • System sizing System sizing • • Human factors Human factors Capacities • Performance engineering • Performance engineering • Value analysis • Value analysis System • • TRL assessment TRL assessment •Demonstrator for show room •Demonstrator for show room Engineering • Design solution assessment architecting • Design solution assessment & • • Impact analysis (new function/ Impact analysis (new function/ new technology) Model new technology) promotion Innovate Mockup Innovate Simulation Define the Define the right Define the right Define the right offer Hybrid architecture architecture right offer & promote it & promote it prototyping Secure the Secure the Technical solutions Technical solutions engineering development development Reference - date engineering • Prototyping • Prototyping • Pilot development • Pilot development • • Development support: Development support: •Specifications validation •Specifications validation •Pre integration && verification (host) •Pre integration verification (host) 9 Aéronautique
  • 11. Software production process Mockup with Definition SMOCK Mockup Component approach Modelisation Model-Driven Architecture Engineering Testing with PICUNIT Development Technological Tests Capitalisation Integration Reference - date 10 Aéronautique
  • 12. Agenda History : Smalltalk in Thales Brest Domain Context Modelling and mockup with Smock Component Testing with PicUnit Conclusions Reference - date 11 Aéronautique
  • 13. Component: Aim Architecture Component approach structures the system and the development A C Component Architecture B Packaged Contract Object Architecture appear Packaged No contract Reference - date Object No architecture No contract 12 Aéronautique flat
  • 14. Component approach : SCM Smalltalk Component Model CCM Like Component approach inherited from Jaguar (Thales/DCNS Java Framework) Introduction of interface in Smalltalk Notion of component manager, deployment services home services, locator services, … Provided services Required services Component Consummed Produced Events events Reference - date Parameters 13 Aéronautique
  • 15. Example Interface definition MyNameSpace defineInterface: #MyServices super: nil with: #(serviceOne: serviceTwo ) Component definition defineComponent self providedServices: #(#{MyNameSpace.MyServices}) requiredServices: #() consumedEvents: #() Reference - date producedEvents: #(#{MyNameSpace.MyEvents}) 14 Aéronautique
  • 16. Mockup environment : SMOCK Agile development environment: Full operator Full operator workstation mockup workstation Component based architecture modeling Interaction behaviour simulation Multi workstation on a simple laptop Easy sharing between all actors including customer: easy packaging Multi easy deployment on a simple laptop workstation Early evaluation of relevant scenario Integrated development cost model Few days to one month for a new mockup Significant evolution in real Reference - date time Collaborative work 15 Aéronautique
  • 17. On the future Architecture modeling From system architecture to executable model in Smalltalk Link from Mockup to System and Software tools Models and Requirements definition Product line management Configuration management Code generation Reference - date 16 Aéronautique
  • 18. A1 A2 Global View of Models & Links F2 F5 A2 F4 Activities System Functional Need F1 Operational Analysis Model Model F3 Functions F21 F22 C1 F1 C2 Logical Architecture F6 F3 C3 Model ‘Behavioural’ C12 Components C11 F22 C2 F21 F1 C4 F6 C1’ F7 C3 Physical Architecture Reference - date Model Processors ‘Platform’ Components 17 Aéronautique Buses
  • 19. Agenda History : Smalltalk in Thales Brest Domain Context Modelling and mockup with Smock Component Testing with PicUnit Conclusions Reference - date 18 Aéronautique
  • 20. PicUnit tool in which context? Context : Component architecture with few levels Service interfaces : Corba Datamodel interface : Database Dev context : other components not yet available when developping a component Testing internal PIC and external PIC DB PIC LSE PIC NAV PIC RAD MMI NAV EQPT AGENT RAD EQPT Reference - date Validate component itself and also communication with other components around 19 Aéronautique
  • 21. PicUnit tool for which usages? Usages : Problem investigation Unit test for component Boom ! Simulate middleware interfaces PIC LSE Simulate other components Swiss knife for problem investigation MMI PicUnit Prepare a defined state Simulators AGENT DB Testing a standalone component AGENT PicUnit Simulate other components DB Testing a Standalone PIC PIC LSE PIC LSE PicUnit PicUnit PicUnit MMI Reference - date MMI AGENT AGENT DB 20 Aéronautique
  • 22. Reference - date PicUnit Screenshot 21 Aéronautique
  • 23. PicUnit Map PicUnit MOCK-X.pst MOCK X … MOCK Y MOCK-Y.pst Datamodel.pst Datamodel Corba Ext I/C MOCK-InterPicCommon.pst DOS.pst DOS DSS DSS.pst DOSNotification.pst Mock Generic & Gen Doc TEST-STD.pst Tools MOCK-COMMON.pst VisualWorks DST*.pst PicUnit.cha SUnit DLL CC OT/DST Opentalk*.pst PIC NAV Sunit*.pst Utils Kernel Tools Debugger*.pst Reference - date DLLCC.pst … Browser*.pst Sunit*.pst … Visual.sou 22 Aéronautique
  • 24. DOSTool DB Inspector Browse the database objects Generate Datamodel smalltalk classes Create / Delete / Modify object t it Same features available in the Tests via an API pec Ins Modify object and Accept Reference - date 23 Aéronautique
  • 25. DSSTool DSS Tool Load an IDL file or an alreaded recorded module in Repository Corba modules tree view : Module > Interfaces > services Generate services (a Module = a Package + a namespace) Simple usage : register I/C in NS, call service by DoIt, unregister I/C Service argument editor Reference - date Browse modules / (un)register in NS / Edit complex arguments / service call services call 24 Aéronautique
  • 26. SUnit SUnit Famous xUnit framework Dev context : launch a test and debug it in the browser Qualification context: launch all tests in TestRunner Generate Test Description document (STD) Reference - date 25 Aéronautique
  • 27. a PIC = a Mock a Mock = a smalltalk bundle than represents a PIC Same interfaces Replace the PIC and/or control the PIC DSS server (generated + implementation) DSS client PIC Datamodel (generated + customization) Tests The LSE PIC The LSE Mock 2 PIC LSE 1 PIC NAV PIC RAD MMI 2 4 3 3 AGENT 1 4 Reference - date 26 Aéronautique
  • 28. What next? Link between PicUnit and Smock : Define Model in Smock and Generate it in PicUnit Generate source code for PIC Developement Generate tests for PIC Integration with Continuous Integration Platform : Output TestResults in XMLUnit format Automaticaly test launching for each PIC changes (each commit in SCM) Instant Map of the project Reference - date 27 Aéronautique
  • 29. Agenda History : Smalltalk in Thales Brest Domain Context Modelling and mockup with Smock Component Testing with PicUnit Conclusions Reference - date 28 Aéronautique
  • 30. Conclusion Why we love it : RAD with regular and high quality language Efficient IDE Model oriented Easy code generation Very improved Debugger Swiss knife but : Image concept in training context Important psychological first step Not widespread language Reference - date Is it the first model centric workshop ? 29 Aéronautique
  • 31. Agenda Questions? Reference - date 30 Aéronautique
  • 32. Engineering phase : the TFC Component 1 Component 2 Technical Foundation Classes = Stub Stub Contract Thales Thales components interfaces + components stubs + components description Impl Impl Implementation Milsoft D3S Reference - date TFC provides a full contract (model, interface, stub, test) 31 Aéronautique
  • 33. Component cartography (partial) ACS ASA ESM FLR IFF RAD RMG TCN NAV RDO LOG L11 LSE (6) (5) (6) (6) (8) (6) (4) (6) (5) (4) (4) (30) (30) PLG PLG PLG PLG PLG PLG PLG PLG PLG PLG: Action On Selection Plugging TACPLOT (23) DFL: Data Flow DFL DFL DFL DFL DFL DFL DFL DFL DFL DFL DOS: DOS Proxy DOS Proxy Manager DOS: DSS Proxy DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS DOS PMG: Panels Manager DSS Proxy Manager Facade: SUP Facade DSS DSS DSS DSS DSS DSS DSS DSS DSS DSS DSS DSS DSS PMG PMG PMG PMG PMG PMG PMG PMG PMG PMG PMG PMG FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE FACADE Thales Havelsan SUP SA (3) Milsoft Jaguar Domain (25) Silicomp Coframi Jaguar Core (35) Reference - date D3S Total of more than 25 PICs and 300 Components 32 Aéronautique
  • 34. Architecture Design: the Art of Compromise Modélisation The final Product Architecture must deal with potentially contradictory Constraints, which impact Breakdown, e.g. : Safety, Dependability / Fault Tolerance, Certification… Time-critical functional Paths Performances & required [hardware] Resources Mapping on [existing] hardware, middleware, reference Architecture… Functional grouping Consistency Dynamic Behaviour System Modes & States Complexity of internal interfaces ViewPoints Human Factors Dependency in System Integration Security Ease of sub-contracting Reuse, existing Legacy, Product Line Policy Solution Modularity, Ability to evolve Architecture Available technologies, COTS… Reference - date Building an appropriate Architecture means finding the most acceptable Compromise between these Viewpoints 33 Aéronautique
  • 35. PIC structure PIC PIC OMI OMI Datamodel DSS Server POM SOM DSS Client Agent Agent Reference - date 34 Aéronautique
  • 36. Environnement et interfaces Schémas VERSANT Modèle de des modèles Lecture/Ecriture génération données (XML) de données chargement Génération PIC à des classes tester Small Talk API C++/Java DOS API C BDD DSS VERSANT Outil HAL PIC TIS (NDI) TESTEUR Reference - date Acteurs et interfaces dans l’environnement du PIC TESTEUR 35 Aéronautique