scieee Science in your language
[en] (orig)

Telvent

Read accessible full text

Telvent

Author: Bermejo, Jesús; Trinidad Martín Arroyo, Pablo; Benavides Cuevas, David Felipe; Ruiz Cortés, Antonio
Publisher: Springer
Year: 2007
DOI: 10.1007/978-3-540-71437-8_17
Source: https://idus.us.es/bitstreams/d3d4e9d6-cd5a-40aa-8a38-60ddac0846b0/download
17
Tel en
wi h Jes´us Be mejo
Pablo T inidad
Da id Bena ides
An onio Ruiz-Co ´es
Company ac s o Tel en
O ganisa ional size: >1,000 de elope s.
S a ing Mode: A configu able p oduc o many clien s wi h
changing equi emen s.
Expe ienced imp o emen s:
- Se e pla o m ex ended o o he ma ke s.
- In oduc ion o un- ime a iabili y.
- Imp o ed e e ence p ocess amewo k.
- Cen alised oadmaps o pla o ms.
- Ma ke pla o m in a diffe en domain.
Business: Alignmen o s a egy and a chi ec u e.
A chi ec u e: Use o dynamic abs ac ac o y pa e n in he pla -
o m.
P ocess: Imp o ed amewo k.
O ganisa ion: Sepa a ion o domain and applica ion enginee ing o -
ganisa ions.
266 17 Tel en
17.1 In oduc ion
Tel en is specialised in solu ions in ou specific indus ial sec o s: ene gy,
affic, anspo and en i onmen . I s main clien s a e in he Ame icas, Spain
and China. Wi h o e o y yea s o expe ience in indus ial supe iso y con-
ol and business p ocess managemen sys ems, Tel en execu es p ojec s and
p o ides echnical se ices in he field o mission-c i ical, eal- ime con ol
and in o ma ion managemen . Tel en p o ides ou sou cing and consul ing
se ices, and employs a echnology-neu al philosophy. The company man-
ages IT and elecommunica ions in as uc u e o an ex ensi e in e na ional
clien base.
17.2 Mo i a ion
The de elopmen o so wa e o con ol, supe ision and managemen alls
wi hin he ca ego y o complex sys em enginee ing. This ype o so wa e
deals wi h s ong non- unc ional equi emen s such as ime esponsi eness o
accomplish eal- ime equi emen s o he con ol o complex sys ems, cus-
omisabili y o co e diffe en cul u al con ex s and na ional s anda ds, and
main ainabili y. O en, c i ical sys ems a e con olled, and upg ades mus be
pe o med apidly.
So wa e p oduc line enginee ing can be used o manage a ian s o com-
mon issues in he field o con ol so wa e such as mul iple communica ion
p o ocols o e he same channel, communica ions edundancy, ex ensi e con-
ol a he emo e e minal uni loca ions, emo e configu a ion changes, da a
ans e o and om da abases and aul ole ance in he con ex o a dis-
ibu ed a chi ec u e wi h suppo o a g owing numbe o communica ion
in as uc u es. Many sys ems use p edominan ly long-dis ance communica-
ion, al hough sho - dis ance communica ion may also be p esen .
This chap e summa ises some aspec s o so wa e p oduc line enginee ing
a Tel en o one o i s co e business domains. I ocuses on he concep ion
phase o a p oduc line a ge ing only a single p oduc o which he equi e-
men s we e expec ed o change widely. The expe ience shows how so wa e
p oduc line enginee ing was success ully applied as a echnique o enable he
p oduc o adap o e ol ing equi emen s.
The cus ome asked o a eal- ime ele ision so wa e amewo k as pa
o he p oduc . They wan ed so wa e ha could cap u e a ele ision signal
om a ca d plugged in o a PC and show he esul on sc een a e apply-
ing some fil e ing and ans o ma ions. They did no eally know which kind
o fil e ing and ans o ma ions he amewo k had o suppo in he u u e.
Howe e , i was o be expec ed ha a e s a ing he de elopmen o he
amewo k, he cus ome would wan mo e unc ionali y wi h simila o im-
p o ed pe o mance.
17.2 Mo i a ion 267
La e changes in equi emen s gene ally in ol e educ ion o unc ionali y
and he loss o quali y and ime. In he si ua ion a hand, many new equi e-
men s we e expec ed o appea , and he a chi ec u e would ha e o be able o
suppo hem. Suppo o change had o be pa o he so wa e a chi ec u e.
He e, classical equi emen s analysis would lea e a lo o black holes ha
would need o be sol ed be o e designing a flexible pla o m. Ins ead, so -
wa e p oduc line enginee ing was used o c ea e a pla o m ha suppo s
he needed a iabili y. So wa e p oduc line de elopmen usually s a s wi h
domain analysis, whe e he main ea u es o he pla o m a e de ec ed. In his
case, he p oblem domain was ho oughly s udied o define a p oduc ha
would fi no only he ( u u e) equi emen s o his fi s cus ome , bu also
he equi emen s o o he companies in he same ma ke wi h li le effo .
To achie e his, he commonali ies we e analysed among he po en-
ial p oduc s ha he diffe en cus ome s may eques in he nea u u e
(c . Fig. 17.1). The fi s cus ome wan ed o compose ele ision signals,
bi maps, ideos and o he images and apply all kinds o effec s o hem. The
esul s o an analysis o exis ing comme cial p oduc s in he eal- ime ele i-
sion ma ke lead o addi ional equi emen s. S a ing om his in o ma ion,
he common equi emen s o he pla o m we e de e mined:
•The so wa e should d aw a final image as a esul .
•Se e al sou ces o images o laye s compose he final image, e.g. ele ision
signal cap u e, bi maps, s o ed ideo, ideo s eaming, ex and 3D images.
•The laye s o e lap ollowing a configu able o de .
•Effec s o ans o ma ions may be applied o one o mo e laye s, e.g. black
and whi e, and anspa ency effec s.
D awing sys em
Laye 1 Laye N…UI 1 UI N…
1
1
1
*
Laye
Plug in
E ec 1 E ec N…
E ec Use In e ace
TV Pla o m
Fig. 17.1. Tele ision so wa e pla o m logical s uc u e (UML)
268 17 Tel en
•A use in e ace has o be p o ided o con ol laye s and effec s.
•I mus wo k 24 hou s, se en days a week. I used o ele ision e ans-
mission i mus ne e s op wo king.
In sho , he pla o m d aws a sequence o laye s, and op ionally applies
any o a ange o fil e s o hem. The pla o m has o suppo any kind o lay-
e s, effec s and use in e ace. Upda es should be suppo ed, bu he execu ion
canno no be s opped o main enance.
The domain enginee ing eam had o de elop wo majo unc ional com-
ponen s:
1. D awing sys em: in cha ge o d awing laye s and effec s in he ele ision
ou pu .
2. Plug-ins sys em: because i was in ended o be a 24/7 sys em, new e -
sions and upda ing mus be au oma ically ins alled a un- ime wi hou
s opping he sys em. Laye s, effec s and use in e aces a e conside ed
plug-ins ha easily connec o he d awing sys em.
The applica ion enginee ing eam was esponsible o de eloping plug-ins
o specific cus ome s. These plug-ins could be p omo ed o he pla o m i
mo e cus ome s would demand hem. In his case, he domain enginee ing
would ake o e hei main enance.
17.3 App oach
The p ocess o so wa e p oduc line enginee ing desc ibed in [106] was used.
The ollowing main sub-p ocesses we e dis inguished:
•Domain enginee ing deals wi h co e-asse de elopmen , whe e common
ea u es a e de eloped.
•Applica ion enginee ing deals wi h p oduc de elopmen , whe e p oduc s
a e de eloped om common and specific ea u es.
•Co-o dina ion deals wi h o e all p oduc line managemen , whe e synch o-
nisa ion be ween he o he wo ac i i ies is a anged.
This is he basis o imp o e he de elopmen p ocess and o suppo he
needed a iabili y. An impo an ask is o decide which a e he co e-asse s
and which a e he cus ome ’s p oduc -specific ea u es.
This sec ion explains how he o ganisa ion was s uc u ed o deal wi h
he business needs. Nex , we explain how he domain enginee ing eam deal
wi h he a chi ec u e. Especially, we conside he design o he plug-in sys em
ha may be used in o he con ex s. I s o igin is an exis ing design pa e n o
au oma ically suppo he un- ime connec ion o new plug-ins o componen s,
i.e. laye s, effec s and use in e aces.
17.3 App oach 269
17.3.1 O ganisa ion and Business
Following he p ocess s uc u e, de elopmen was sepa a ed in domain and
applica ion enginee ing g oups. The domain enginee ing g oup was esponsi-
ble o he pla o m de elopmen and he quali y o he sys ems. The so wa e
p oduc line in as uc u e has o p o ide solu ions no only o exis ing sys-
ems, bu also o u u e sys ems. I has o deal wi h he apidly e ol ing
echnological ma ke nowadays. The domain a chi ec u e has o ulfil he de-
i ed business s a egy equi emen s.
Domain enginee ing uses an a chi ec u e-cen ic app oach d i en by he
business s a egy. The echnical solu ion is shaped acco ding o long- e m
s a egic and business objec i es. In e aces o so wa e a ian s a e igh ly
aligned wi h business a ian s. I is impo an o analyse hem om bo h busi-
ness and so wa e pe spec i es. This keeps he s a egy and planned e olu ion
o he whole p oduc line consis en wi h one ano he .
17.3.2 Using he Abs ac Fac o y Pa e n
The implemen a ion o he p oduc line depends on he Abs ac Fac o y
design pa e n [59]. I can ulfil many common equi emen s o he plug-in
sys em and p o ides as de elopmen o sys ems in he p oduc line.
Abs ac Fac o y p o ides an in e ace o c ea ing amilies o objec s wi h-
ou knowing hei conc e e classes. Abs ac Fac o y can be applied when a
sys em has o be independen o how i s p oduc s a e c ea ed, composed and
ep esen ed. This fi s he equi emen s o he ele ision amewo k, whe e
laye s, effec s and use in e aces should be c ea ed independen ly o hei
conc e e unc ionali y, which a ies om cus ome o cus ome . The design
s uc u e o his pa e n can be seen in Fig. 17.2.
The pa icipan classes in his pa e n and hei unc ionali y a e as
ollows:
•Abs ac P oduc decla es he in e ace o a ype o p oduc objec . In
his case, laye s, effec s and use in e aces will be abs ac p oduc s.
•Abs ac Fac o y decla es an in e ace o he ope a ions ha c ea e ab-
s ac p oduc s.
•Conc e e P oduc implemen s he abs ac p oduc in e ace o define a
conc e e p oduc ha is c ea ed using a conc e e ac o y. Examples o
conc e e p oduc s a e a bi map laye and a black and whi e effec .
•Conc e e Fac o y implemen s he in e ace o he abs ac ac o y. Each
cus ome will equi e a se o laye s, effec s and use in e aces, and will
ha e i s own conc e e ac o y implemen a ion.
•Clien uses he in e aces o abs ac ac o y and p oduc , bu does no
know abou conc e e implemen a ions. A cus ome -dependen conc e e
ac o y will be ins an ia ed be o ehand.

270 17 Tel en
Conc e eFac o y1 Conc e eFac o y2
Clien
Abs ac P oduc A
Abs ac P oduc B
Abs ac Fac o y
+C ea eP oduc A()
+C ea eP oduc B()
P oduc B2 P oduc B1
P oduc A2 P oduc A1
Fig. 17.2. Abs ac Fac o y pa e n (UML)
In he ele ision amewo k, laye s, effec s and use in e aces a e he ab-
s ac p oduc s o be c ea ed. The abs ac ac o y is in cha ge o c ea ing
hei implemen a ions as Conc e e P oduc s. Each cus ome -specific p oduc
has a specific conc e e ac o y (Fig. 17.3).
17.3.3 In oducing he Dynamic Abs ac Fac o y Pa e n
The Abs ac Fac o y pa e n has wo limi a ions when i is used o implemen
a iabili y:
1. Some conc e e p oduc s a e no p e-defined and should in eg a e in o he
applica ion a un- ime. Abs ac Fac o y can only c ea e conc e e p od-
uc s i hey a e iden ified ap io i.
2. A cus ome may solici mo e han one ins ance o an abs ac p oduc .
Fo ins ance,acus ome mayneeda ele ision cap u e laye and a bi map
laye a he same ime. Abs ac Fac o y allows only one conc e e imple-
men a ion pe in e ace.
Conside ing hese limi a ions some new ea u es we e added o he Ab-
s ac Fac o y pa e n, hus c ea ing a new pa e n coined Dynamic Abs ac
17.3 App oach 271
Abs ac Fac o y
+C ea eLaye ():
+C ea eE ec ():
+C ea eUI():
Cus ome 1Fac o y
+C ea eLaye ():
+C ea eE ec ():
+C ea eUI():
Cus ome XFac o y
+C ea eLaye ():
+C ea eE ec ():
+C ea eUI():
…
Laye
Bi mapLaye TVLaye
…
E ec
B&WE ec SepiaE ec
…
Use In e ace
BasicUI …
I new equi emen s
appea , he a chi ec u e
expands he e
The abs ac ac o y does no
suppo c ea ing mo e han
one kind o laye , e ec o UI
Fig. 17.3. Abs ac Fac o y pa e n applied o Tel en ’s pla o m (UML)
Fac o y. The new pa e n is conside ed dynamic because i can change he
ela ions be ween conc e e ac o ies and conc e e p oduc s a un- ime.
Dynamic Abs ac Fac o y allows a conc e e ac o y o c ea e mo e han
one ins ance o a conc e e p oduc . To his end, he me hods ha c ea e
conc e e p oduc s, e.g. C ea eLaye , we e ex ended o ecei e a pa ame e
ha indica es which laye o c ea e om all he a ailable ones.
Fu he mo e, conc e e ac o ies we e adap ed o suppo new conc e e
p oduc s ha we e added a un- ime. Regis e and UnRegis e ope a ions
we e added o Abs ac Fac o y o each abs ac p oduc , e.g. Regis e Laye
and UnRegis e Laye . These unc ions associa e an iden ifie wi h a conc e e
p oduc . This iden ifie is used when c ea ing new ins ances o a conc e e
p oduc .
Fo each cus ome , a se o laye s, effec s and use in e aces is a ailable,
and many o he s may be ins alled and used a un- ime. Each cus ome hasa
272 17 Tel en
Abs ac Fac o y
+C ea eLaye (): Laye
+C ea eE ec (): E ec
+C ea eUI(): Use In e ace
+Regis e Laye (in id, in laye Class)
+Regis e E ec (in id, in e ec Class)
+Regis e UI(in id, in UIClass)
+UnRegis e Laye (in id)
+UnRegis e E ec (in id)
+UnRegis e UI(in id)
Cus ome 1Fac o y
+C ea eLaye (): Laye
+C ea eE ec (): E ec
+C ea eUI(): Use In e ace
Cus ome XFac o y
+C ea eLaye (): Laye
+C ea eE ec (): E ec
+C ea eUI(): Use In e ace
…
Laye
Bi mapLaye TVLaye …
E ec
B&WE ec SepiaE ec …
BasicUI …
Use In e ace
Fig. 17.4. Dynamic Abs ac Fac o y pa e n applied o Tel en ’s pla o m (UML)
conc e e ac o y ha ini ially egis e s he a ailable conc e e p oduc s. A
UML model o he Dynamic Abs ac Fac o y pa e n is shown in Fig. 17.4.
17.3.4 Reusing he Dynamic Abs ac Fac o y Pa e n
To make he Dynamic Abs ac Fac o y implemen a ion eusable in o he
pla o ms whe e diffe en abs ac p oduc s a e conside ed, some mo e adap a-
ions we e necessa y. The egis e and un egis e ype o me hods in Fig. 17.3
a e no eusable because hey a e linked o a conc e e con ex h ough hei
names. Ins ead o c ea ing new me hods o each new p oblem domain, a
domain-independen me hod ha suppo s he c ea ion o any conc e e p od-
uc is be e eusable. Consequen ly, a gene ic abs ac ac o y was defined
ha c ea es only one kind o abs ac p oduc . The gene ic dynamic abs ac
17.3 App oach 273
Bi mapLaye TVLaye …NewLaye
Laye
Abs ac P oduc
Cus ome NLaye Fac o y
+Ini ialize()
Abs ac Class
+Regis e (in id, in p oduc Class)
+Un egis e (in id)
+C ea e(): Abs ac P oduc
+Ini ialize()
Abs ac P oduc
Laye
Regis e (“TV”, TVLaye )
Regis e (“Bi map” , Bi mapLaye )
…
Laye egis e ed a un ime
Fig. 17.5. Dynamic Abs ac Fac o y pa e n implemen a ion using pa ame e ised
classes (UML)
ac o y designed was based on pa ame e ised classes.1A UML model, ep-
esen ing his, is shown in Fig. 17.5. Applying his gene ic pa e n o he
ele ision amewo k yields h ee conc e e ac o ies o laye s, effec s and use
in e aces.
Fo each cus ome , he Ini ialise me hod is adap ed and a se o con-
c e e ac o ies c ea ed. Suppo o in eg a ing new conc e e p oduc s comes
om using he egis e me hod a un- ime. Bu in oducing new p oduc s
means in oducing new code. The inse ion o code in a unning p ocess is
no a i ial ask. Depending on he language and en i onmen , he dynamic
loading o code can be achie ed in diffe en ways. In he ele ision ame-
wo k, dynamic lib a ies we e used o plug and egis e new classes in o a
conc e e ac o y a un- ime. Each lib a y con ained one o mo e conc e e
p oduc s. When loading a lib a y, he new conc e e p oduc is egis e ed a
a conc e e ac o y. When unplugging ha lib a y, he conc e e p oduc is
un egis e ed again.
The Dynamic Abs ac Fac o y pa e n is no linked o a conc e e ope a -
ing sys em o p og amming language. The solu ion is specified a design le el,
and can be applied using any p og amming language ha allows he dynamic
loading o code, o example Ja a o C#.
1A pa ame e ised class is a class whe e one o mo e ypes a e defined du ing
ins an ia ion. In C++, hey a e also known as empla es