59
01/2000 01/2000 - - Page 1 Page 1 Copyright (c) 2000 ISR Software Core for Computer-based systems AIRSYS ATM AIRSYS ATM And LCAT And LCAT Activities : Activities : Code Generation in Code Generation in Mission Critical Mission Critical Large Distributed Systems Large Distributed Systems Emmanuel FUCHS AIRSYS ATM DT, SC2, LCAT Resarch Topic 2

PLUG : Presentation Layer Universal Generator

Embed Size (px)

Citation preview

01/2

000

01/2

000

-- Pag

e 1

Pag

e 1

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

AIRSYS ATMAIRSYS ATMAnd LCATAnd LCATActivities :Activities :

Code Generation inCode Generation inMission CriticalMission Critical

Large Distributed SystemsLarge Distributed Systems

Emmanuel FUCHSAIRSYS ATM DT, SC2, LCAT Resarch Topic 2

01/2

000

01/2

000

-- Pag

e 2

Pag

e 2

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Contents� Objective� Works status� The problem � The process

� Business Model� Component Execution Model� Code generation Generic tools

� Conclusion

01/2

000

01/2

000

-- Pag

e 3

Pag

e 3

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Contents� Objective� Works status� The problem � The process

� Business Model� Component Execution Model� Code generation Generic tools

� Conclusion

01/2

000

01/2

000

-- Pag

e 4

Pag

e 4

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Objective� In large distributed systems development cost

reduction implies:� Code Reuse� COTS usage � …

But it means heavy integration and validation phase.

� TO reduce Integration and Validation phase work load

� Code generation for creating wrappers :

� Components Containers

01/2

000

01/2

000

-- Pag

e 5

Pag

e 5

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Contents� Objective� Works status� The problem � The process

� Business Model� Component Execution Model� Code generation Generic tools

� Conclusion

01/2

000

01/2

000

-- Pag

e 6

Pag

e 6

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Works HistoricWorks Historic

�������������

� �

����

� �

������� �

����

��� ��

���� �

������������� �

���������� ��

���

����

�� ���

� ����� !�"��#$��%

&% % &"�� &'(��)��*% (���&)

����+&)% �+&)��� � �� &&�$��"��,)��*&"�(!��& �)��

!�)��*&"

�*)$#$ � �% &"$�)��&)�+&)��-� ��� ��$#$� �%

�� � ����*'��*&" � .*)&"% �"� +&)��$���& �)'$���� � �

����� +&)% ��'/�0��(�*&"��1!�)�*� &% % ("�

�2� &% !&"�"�

� &'��

��)(��()�'��!!�*���*&"��)�% � &)3

01/2

000

01/2

000

-- Pag

e 7

Pag

e 7

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Works TopicsWorks Topics

� �

����

� �

����

�� 4���� ��� �2������ ��

�� � �2($*"�$$�� &'���� &"��*"�)��'�5��

&"��*"�)���'�5�2��

�2������ ��� � �

�� � �2($*"�$$�� &'���� �2������ �

� �5 � ��������������

��� �

����

��� ��

���� �

����

���

����

�� ���

��������� �

���������� ��

�2���� 5�� �6� � 77���� �77

01/2

000

01/2

000

-- Pag

e 8

Pag

e 8

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Contents� Objective� Works status� The problem � The process

� Business Model� Component Execution Model� Code generation Generic tools

� Conclusion

01/2

000

01/2

000

-- Pag

e 9

Pag

e 9

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

ATCATC centrecentre ArchitectureArchitecture

Flight PlanProcessingFlight Plan

Processing

SupervisoryControlSupervisory

Control

SimulatorSimulator

RecordingReplayRecording

Replay

controllerWorkingPosition

controllerWorkingPosition

RADAR

Radar DataProcessingRadar Data

Processing

Radar FrontProcessingRadar Front

Processing

Dual LANFDDI

AFTN/CIDINATFM

ADJACENTFIR'S/TWR'S

MET Centres

Voice controland

communicationsVoice control

and communications

• Intercom• Priority• Public• RADIO A/G

controllerWorkingPosition

controllerWorkingPosition

8�9:

�()&��� �:::�8���:::�;�

01/2

000

01/2

000

-- Pag

e 10

Pag

e 10

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

�� �

�*$(���� &&�$

Computer Aided System DesignComputer Aided System Design

01/2

000

01/2

000

-- Pag

e 11

Pag

e 11

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

��*,-�� �"�,�% �"�

�().�*���"��

� ��(!

���&)'*",

���&)'*", �().�*���"��

� ��(!

Mouse ClickSystem Development

�.�"(��<�:::�;�&��

01/2

000

01/2

000

-- Pag

e 12

Pag

e 12

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Contents� Objective� Works status� The problem � The process

� Business Model� Component Execution Model� Code generation Generic tools

� Conclusion

01/2

000

01/2

000

-- Pag

e 13

Pag

e 13

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

System Development ProcessSystem Development Process

� A business model

� Domain services specification

No assumption on Execution Platform

01/2

000

01/2

000

-- Pag

e 14

Pag

e 14

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

� A component execution model

� Components interconnections

� CORBA component model (CCM)

� Container

� A code generation generic tool

� PLUG (presentation layer universal generator)

� A business model

� Domain services specification

No assumption on Execution Platform

System Development ProcessSystem Development Process

01/2

000

01/2

000

-- Pag

e 15

Pag

e 15

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

A Domain Service = A CORBA ObjectA Domain Service = A CORBA Object

� A service (CORBA Object) is defined by : � An abstract Syntax : Interface

� Described in IDL� A protocol : Behavior

� Described in UML

Without any assumptions on : Execution Platform

01/2

000

01/2

000

-- Pag

e 16

Pag

e 16

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

�� &)3

&'��� &'��2

����=��� �

��)(�� % �$$�,��

���% ��6�$-&)�>

���% ��6��&",>

���% ��6��-�)>

���% <�6�2&&���">

���% <�6��)(�� '���

���% ��6�6�-�)>

���% ��6��&",>

���% ��6��-�)>

���% <�6�2&&���"

���% <�6��-�)>

�"' $�)(�� '���>

�"' $�)(�� % �$$�,��

�!��*+*���*&"���",(�,�

&% % ("*���*&"���",(�,�

�)&,)�% % *",��",(�,��? 77@

�)&,)�% % *",��",(�,��?�'�@

No assumption on deploymentNo assumption on deployment == Abstract SyntaxAbstract Syntax

01/2

000

01/2

000

-- Pag

e 17

Pag

e 17

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

System Development ProcessSystem Development Process

� Business Model

� Component Execution Model

� Component interconnection

� CORBA Component Model (CCM)

� Container Model

� User Driven Code Generation

01/2

000

01/2

000

-- Pag

e 18

Pag

e 18

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

What We May Have :

��).*������).*���

��).*����

��).*���2 �

��).*����

01/2

000

01/2

000

-- Pag

e 19

Pag

e 19

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

SpaghettiPlate

Syndrome �% �'�*!�

���*�A��� (��*��$�

�!�,-���*������

�#$��% ��)�-*�����#$��% ��"��,)��&)

01/2

000

01/2

000

-- Pag

e 20

Pag

e 20

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

��*,-�� �"�,�% �"�

�().�*���"��

� ��(!

���&)'*",

���&)'*", �().�*���"��

� ��(!

What We Want !

01/2

000

01/2

000

-- Pag

e 21

Pag

e 21

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Container Model

� ��-"*����� *''�� �)� ?�)�% � &)3@

&"��*"�) &"��*"�) &"��*"�) &"��*"�) &"��*"�)

������������ ������

�� ��� �������� �������� �

AB����� �

� � �������� ���������� ��������

01/2

000

01/2

000

-- Pag

e 22

Pag

e 22

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

System Development ProcessSystem Development Process

� Business Model

� Component Execution Model

� Component interconnection

� CORBA Component Model (CCM)

� Container Model

� User Driven Code Generation

01/2

000

01/2

000

-- Pag

e 23

Pag

e 23

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

CORBA Component Model (CCM)CORBA Component Model (CCM)

� Extension to IDL (IDL2 Meta Type) � «packaging» language

� Offered functionality (Server role)interfaces providedevents emitted

� Configuration attributes

� Define a component in terms of...

� Dependencies (Client role)distant interfaces requiredevents consumed

� ��� ��C�� ��D

01/2

000

01/2

000

-- Pag

e 24

Pag

e 24

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

� Container handles,� Component interconnection� Event issues� Config / packaging issues� Other functions

� Local IDL (local service ie no IOR)� Component is isolated from the

underlying architecture (framework).� This is a standard & formal way of

creating wrappers.

CORBA Component Model (CCM)CORBA Component Model (CCM)

� � &"��*"�)

01/2

000

01/2

000

-- Pag

e 25

Pag

e 25

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Component/Container interactionComponent/Container interaction

�� ��� ���� ��������� ��������� � �

����� � ��� ��������� ������ ��� ��

�� ��� ���� ��������� ������������ ��� ������� � �������� ���

� �������� �

01/2

000

01/2

000

-- Pag

e 26

Pag

e 26

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Container/Infrastructure interactionContainer/Infrastructure interaction

� *''�� �)� ?�"+)�$�)(��()�� �)�% � &)3@

�� ��� ���� ��������� ��������� � ��� ��� ���� ��������

� ����� �������������� ��� ���� ��������� ����� ������������

����� � �������� ���� �������� �� �������

� ������������� ��!���

�� ��� ���� ��������� ������������ ��� ���� �������� �������������

��!���

����� � ��� ��������� ������ ��� ��

�� ��� ���� ��������� ������������ ��� ������� � �������� ���

� �������� �

01/2

000

01/2

000

-- Pag

e 27

Pag

e 27

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

CCM : Code GenerationCCM : Code Generation

Compiler

Idl2

� An IDL2 interface� Defining interface

between component and container

� Middleware, Framework independent

Container

� Container code� Provides the glue

between application and infrastructure

“IDL3” is parsed, producing :IDL3

01/2

000

01/2

000

-- Pag

e 28

Pag

e 28

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

System Development ProcessSystem Development Process

� Business Model

� Component Execution Model

� User Driven Code Generation

� PLUG Approach� PLUG : Presentation layer Universal

Generator

� Customized Compiler

01/2

000

01/2

000

-- Pag

e 29

Pag

e 29

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

�$(��� &% !*��)���E

PLUG principle : PLUG principle : ?����"��*"�!)&,)�$$@?����"��*"�!)&,)�$$@

�A$�)������#"��0�� )��

�!��*+*���*&"�&()��

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

2��3��"'

&'�E �"�)��&)

� �% !����$

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

�&()�� &'�

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

�!��*+*���*&"��)$�)

�)&"���"'

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

� � �� � ��6�� �% !������ �$�)*!�*&"���",(�,�

01/2

000

01/2

000

-- Pag

e 30

Pag

e 30

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3��"'E �"�)*�2��3��"'

PLUG principle : PLUG principle : ?����"��*"�!)&,)�$$@?����"��*"�!)&,)�$$@

�A$�)������#"��0�� )��

�!��*+*���*&"�&()��

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

&'�E �"�)��&)

� �% !����$

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

� � ��"��)!)���)

�&()�� &'�

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

�!��*+*���*&"��)$�)

�)&"���"'

Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank

| Qualif Node : op_dcl| | Qualif Node : return

| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name

| | | | | | Leaf Node : Amount| | Qualif Node : Name

| | | Leaf Node : newAccount

� � �

&'��E �"�)��*&"���)*!�*",���",(�,�

01/2

000

01/2

000

-- Pag

e 31

Pag

e 31

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'�� ����& �� ���2��3 �"' &"��*"�)�2��3 �"'

PLUG : CCM Container Generation

�� ���&"��*"�)

�� ��� ��&��� ���� �% !����

&"��*"�)� ��-"*����� *''�� �)��

� �% !����

?�.�"(���:::��&�@

?�.�"(��9:�:::��&�@

�� ��

�� ����)$�)

� � ���"��)!)���)

?�.�"(���9: �&�@

?�.�"(���9:: �&�@

01/2

000

01/2

000

-- Pag

e 32

Pag

e 32

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'�'�� &"��*"�)�2��3 �"'

PLUG : Ada Container Generation

�'���&"��*"�)

�'�� &"��*"�)� ��-"*����� *''�� �)�

� �% !�����'��7�� � �

�� ��

�� ����)$�)

� � ���"��)!)���)

01/2

000

01/2

000

-- Pag

e 33

Pag

e 33

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"' 77� &"��*"�)�2��3 �"'

77��&"��*"�)

77� &"��*"�)� ��-"*����� *''�� �)�

� �% !���� 77��7�� � �

�� ��

�� ����)$�)

� � ���"��)!)���)

PLUG : C++ Container Generation

01/2

000

01/2

000

-- Pag

e 34

Pag

e 34

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'�#% A&�*��� )��*",�2��3 �"'

PLUG : PLUG : Symbolic Tracing GenerationSymbolic Tracing Generation

�#% A&�*��� )��*", ;*�

�#% A&�*��� )��*",� �% !����

!)*"�+�$3����&"�7�� � �

�� �

�� ����)$�)

� � ���"��)!)���)

01/2

000

01/2

000

-- Pag

e 35

Pag

e 35

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'��,��#�F )�!!�)�2��3��"'

��,��#�F )�!!�)

��,��#�F )�!!*",� �% !����

�� �

�� ����)$�)

� � ���"��)!)���)

PLUG : PLUG : Legacy Wrapping GenerationLegacy Wrapping Generation

01/2

000

01/2

000

-- Pag

e 36

Pag

e 36

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'G � � ��'�� &'�)�2��3 �"'

PLUG : PLUG : Ada/XDR Ada/XDR codercoder GenerationGeneration

G � � ��'�� &'�)

G � � ��'�� &'�)� �% !�����'��7�� � �

�� �

�� ����)$�)

� � ���"��)!)���)

01/2

000

01/2

000

-- Pag

e 37

Pag

e 37

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'G � � � 77� &'�)�2��3 �"'

PLUG : PLUG : C++/XDR C++/XDR codercoder GenerationGeneration

G � � � 77� &'�)

G � � � 77� &'�)� �% !���� 77��7�� � �

�� �

�� ����)$�)

� � ���"��)!)���)

?�:: �&�@

?�.�"(���:: ;�&�@

01/2

000

01/2

000

-- Pag

e 38

Pag

e 38

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

�� &)3

&'��� &'��2

����=��� �

��)(�� % �$$�,��

���% ��6�$-&)�>

���% ��6��&",>

���% ��6��-�)>

���% <�6�2&&���">

���% <�6��)(�� '���

���% ��6�6�-�)>

���% ��6��&",>

���% ��6��-�)>

���% <�6�2&&���"

���% <�6��-�)>

�"' $�)(�� '���>

�"' $�)(�� % �$$�,��

�!��*+*���*&"���",(�,�

&% % ("*���*&"���",(�,��=�G � �

�)&,)�% % *",��",(�,��? 77@

�)&,)�% % *",��",(�,��?�'�@

Abstract Syntax = IDL, Transfer Syntax = XDR

01/2

000

01/2

000

-- Pag

e 39

Pag

e 39

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'��� ��'�� &'�)�2��3 �"'

PLUG : PLUG : Ada/ ASN.1 PER Ada/ ASN.1 PER codercoder GenerationGeneration

��� ��'�� &'�)

��� ��'�� &'�)� �% !�����'��7�� � �

�� 4�

� � ���"��)!)���)

�� ����)$�)

01/2

000

01/2

000

-- Pag

e 40

Pag

e 40

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'��� � 77� &'�)�2��3 �"'

PLUG : PLUG : C++/ ASN.1 PERC++/ ASN.1 PER codercoder GenerationGeneration

��� � 77� &'�)

� � ���"��)!)���)

��� � 77� &'�)� �% !���� �7�� � �

�� ����)$�)

�� 4�

?�� �;�&�@

01/2

000

01/2

000

-- Pag

e 41

Pag

e 41

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

�� &)3

&'��� &'��2

����=��� 4�

��)(�� % �$$�,��

���% ��6�$-&)�>

���% ��6��&",>

���% ��6��-�)>

���% <�6�2&&���">

���% <�6��)(�� '���

���% ��6�6�-�)>

���% ��6��&",>

���% ��6��-�)>

���% <�6�2&&���"

���% <�6��-�)>

�"' $�)(�� '���>

�"' $�)(�� % �$$�,��

�!��*+*���*&"���",(�,�

&% % ("*���*&"���",(�,��=����

�)&,)�% % *",��",(�,��? 77@

�)&,)�% % *",��",(�,��?�'�@

Abstract Syntax = ASN.1, Transfer Syntax = PER

01/2

000

01/2

000

-- Pag

e 42

Pag

e 42

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

��� � 77� &'�)

2��3 �"'��� � 77� &'�)�2��3 �"'

PLUG : PLUG : FE independenceFE independence

�� 4�

�� ����)$�)

� � ���"��)!)���)

��� � 77� &'�)� �% !���� 77�7�� � �

01/2

000

01/2

000

-- Pag

e 43

Pag

e 43

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'G � � � 77� &'�)�2��3 �"'

PLUG : PLUG : FE independenceFE independence

G � � � 77� &'�)

�� 4�

�� ����)$�)

��� � 77� &'�)

G � � � 77� &'�)� �% !���� 77�7�� � �

� � ���"��)!)���)

��� � 77� &'�)� �% !���� 77�7�� � �

01/2

000

01/2

000

-- Pag

e 44

Pag

e 44

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'G � � � 77� &'�)�2��3 �"'

PLUG : FE independencePLUG : FE independence

G � � � 77� &'�)

G � � � 77� &'�)� �% !���� 77�7�� � �

� � ���"��)!)���)

��� � 77� &'�)� �% !���� 77�7�� � �

��� � 77� &'�)

�A$�)������#"��0�� )��

01/2

000

01/2

000

-- Pag

e 45

Pag

e 45

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'G � � � 77� &'�)�2��3 �"'

PLUG : PLUG : AST independenceAST independence

G � � � 77� &'�)

� � ���"��)!)���)

G � � � 77� &'�)� �% !���� 77�7�� � �

H�F �*�*",��&)�����"��+*��*",

01/2

000

01/2

000

-- Pag

e 46

Pag

e 46

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'�2��� &"��*"�)�2��3 �"'

PLUG : UBSS Container Generation

� � �

�"��)!)���)

�2��� &"��*"�)� �% !����

�2���$3����&"��7�� � �

�� ��

�� �

��)$�)

" # ��� ��� ��

�� ����)$�)

� � ���"��)!)���)

01/2

000

01/2

000

-- Pag

e 47

Pag

e 47

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'��� � &"��*"�)�2��3 �"'

PLUG : PERCO Container Generation

� � �

�"��)!)���)

��� �� &"��*"�)� �% !����

��� ��3����&"�7�� � �

�� ��

�� �

��)$�)

$%&�� ��� ��� ��

�� ����)$�)

� � ���"��)!)���)

01/2

000

01/2

000

-- Pag

e 48

Pag

e 48

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Infrastructure Infrastructure InterchangeInterchange

�2��� &"��*"�)

�2��

��� � &"��*"�)

���

�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4�

�2�����% !����� )*���A#��2����0!�)�$

01/2

000

01/2

000

-- Pag

e 49

Pag

e 49

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Infrastructure InterchangeInfrastructure Interchange

�2��� &"��*"�)

�2��

��� � &"��*"�)

���

�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4

��� ���% !����� )*���A#���� ��0!�)�$

01/2

000

01/2

000

-- Pag

e 50

Pag

e 50

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'������� ��-*"��2��3 �"'

PLUG : State Machine Generation

� � �

�"��)!)���)

�� �

�� �

��)$�)

�� ����)$�)

� � ���"��)!)���)

������� ��-*"�� �% !����

������� ��-*"�

01/2

000

01/2

000

-- Pag

e 51

Pag

e 51

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'���*'��*&"� &"��*"�)�2��3 �"'

PLUG : Validation Container Generation

� � �

�"��)!)���)

�� �

�� �

��)$�)

' ������� ���� ��� ��

�� ����)$�)

� � ���"��)!)���)

���*'��*&"� &"��*"�)� �% !����

� *% �����% !$���)&A�$�7�� � �

01/2

000

01/2

000

-- Pag

e 52

Pag

e 52

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2��3 �"'� �$�$�����2��3 �"'

PLUG : Tests Set Generation

� � �

�"��)!)���)

�� �

�� �

��)$�)

�� ����)$�)

� � ���"��)!)���)

� �$�$����� �% !����

� �$�$����

01/2

000

01/2

000

-- Pag

e 53

Pag

e 53

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Infrastructure Infrastructure InterchangeInterchange

���*'��*&"� &"��*"�)

���*'��*&"��)�% � &)3

�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4

!�)��*&"�����% !����� )*���A#�&!�)��*&"����0!�)�$

!�)��*&"���� &"��*"�)

!�)��*&"����)�% � &)3

01/2

000

01/2

000

-- Pag

e 54

Pag

e 54

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

Infrastructure Infrastructure InterchangeInterchange

���*'��*&"� &"��*"�)

���*'��*&"��)�% � &)3

�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4�

!�)��*&"���� &"��*"�)

!�)��*&"����)�% � &)3

���*'��*&"���% !����� )*���A#����*'��*&"��0!�)�$

01/2

000

01/2

000

-- Pag

e 55

Pag

e 55

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

2($*"�$$� &'��

�("��*&"��� &'��

&"��("��*&"��� &'��

�("��*&"���*% (���*&"

��$(��$

&"��("��*&"���*% (���*&"

��$(��$

&"��*"�)

= =

�#$��%

� �!�&#% �"�

LCAT Research Topic 1, SP 1, LCAT Research Topic 1, SP 1, PERCO tools chain :PERCO tools chain :A priori validation, Deployment A priori validation, Deployment

01/2

000

01/2

000

-- Pag

e 56

Pag

e 56

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

LCAT Research topics 2 : PERCO tool chainLCAT Research topics 2 : PERCO tool chain

� Framework to support real time and distributed systems :

� Platform on top of CORBA : PERCO

� Software Engineering tools on top of PERCO :

� Deployment tools

� Validation tools

� CCM ++, UML ++

01/2

000

01/2

000

-- Pag

e 57

Pag

e 57

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

PLUG : PLUG : Presentation layer Universal GeneratorPresentation layer Universal Generator

� TDL (����"��*"�!)&,)�$$@�: PHP 3 extended interpreter.� Abstract Syntax : IDL CORBA3 (lex/yacc), ASN.1 1994 (java/ANTLR*1).� Working Syntax : Any� Transfer Syntax : XDR, PER (ASN.1 1994)� Code size : 200 Kloc� Avenue TDL size : 10000 loc, Container Generated size : 50 000 loc� XDR TDL : 200 loc, PER TDL : 2324 loc � Industrial Product : SEI CMM Level 3,DOD MIL STD 498� Product Manager : Franck Lantres AIRSYS ATM P&D/DCE/TFP

*1 ANTLR: ANother Tool for Language Recognition

01/2

000

01/2

000

-- Pag

e 58

Pag

e 58

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

AVENUE : AVENUE : AATM TM VValidationalidation ENENvironmentvironment for for UUse towards se towards EEATMSATMS

� Construct a European ATM Validation Platform :� 13 partners, 7 countries� 30+ applications

� 4 000 KLOC, Ada, C++� Generated Code

� Container : 50 Kloc (Ada, C++)� TDL : 10 Kloc (PHP 3)� IDL3 850 loc, IDL2 2500 loc� XDR : TDL 200 loc, (C++ 100 Kloc)

01/2

000

01/2

000

-- Pag

e 59

Pag

e 59

Copyright (c) 2000 ISRSoftware Core for Computer-based systems

ConclusionConclusion

Thank You For Your Attention

Questions are welcomeContacts :

[email protected]@ms.alcatel.fr